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

Konstantin Belousov kib at FreeBSD.org
Thu Aug 28 09:20:06 UTC 2008


kib         2008-08-28 09:19:50 UTC

  FreeBSD src repository

  Modified files:
    sys/ufs/ffs          ffs_alloc.c 
  Log:
  SVN rev 182366 on 2008-08-28 09:19:50Z by kib
  
  In ffs_valloc(), ffs_vget() may fail because insmntque() refused to
  insert new vnode into the mount vnode list. Then, for the SU-enabled
  mount, ffs_vfree could create freefile dependency. This dependency can
  hang around forever since inode is not marked as IN_MODIFIED and
  correspondingly inodeblock may be not marked as dirty.
  
  After ffs_vget() fails, retry with FFSV_FORCEINSMQ, mark the inode as
  modified, and vput() it immediately. Take care of the dup alloc.
  
  Tested by:      pho
  Reviewed by:    tegge
  MFC after:      1 month
  
  Revision  Changes    Path
  1.150     +11 -1     src/sys/ufs/ffs/ffs_alloc.c


More information about the cvs-all mailing list