cvs commit: src/sys/ufs/ffs ffs_softdep.c

Tor Egge tegge at FreeBSD.org
Sat May 6 20:51:43 UTC 2006


tegge       2006-05-06 20:51:32 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_softdep.c 
  Log:
  ffs_syncvnode() might skip some of the blocks due to them being locked,
  assuming them to be inflight write buffers.  This is not always the case.
  bufdaemon might hold the buffer lock and give up writing the buffer due to it
  having dependencies, the file system being suspended or the vnode lock being
  held by another thread.  When bufdaemon decides to write the buffer there is
  still a window before bufobj_wref() has been called, allowing other threads to
  believe that the vnode has no dirty buffers or inflight writes.
  
  Try harder to flush first block of new subdirectory to get rid of MKDIR_BODY
  dependency.
  
  Revision  Changes    Path
  1.196     +46 -0     src/sys/ufs/ffs/ffs_softdep.c


More information about the cvs-all mailing list