Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2002 14:20:42 -0800 (PST)
From:      Kirk McKusick <mckusick@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern vfs_bio.c
Message-ID:  <200212172220.gBHMKg9T023839@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
mckusick    2002/12/17 14:20:42 PST

  Modified files:        (Branch: RELENG_5_0)
    sys/kern             vfs_bio.c 
  Log:
  The buffer daemon cannot skip over buffers owned by locked inodes as
  they may be the only viable ones to flush. Thus it will now wait for
  an inode lock if the other alternatives will result in rollbacks (and
  immediate redirtying of the buffer). If only buffers with rollbacks
  are available, one will be flushed, but then the buffer daemon will
  wait briefly before proceeding. Failing to wait briefly effectively
  deadlocks a uniprocessor since every other process writing to that
  filesystem will wait for the buffer daemon to clean up which takes
  close enough to forever to feel like a deadlock.
  
  Reported by:    Archie Cobbs <archie@dellroad.org>
  Sponsored by:   DARPA & NAI Labs.
  Approved by:    re
  MFC from:       sys/kern/vfs_bio.c 1.343
  
  Revision   Changes    Path
  1.342.2.1  +63 -45    src/sys/kern/vfs_bio.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212172220.gBHMKg9T023839>