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

Kris Kennaway kris at obsecurity.org
Mon Oct 3 15:16:12 PDT 2005


On Mon, Oct 03, 2005 at 09:57:43PM +0000, Don Lewis wrote:
> truckman    2005-10-03 21:57:43 UTC
> 
>   FreeBSD src repository
> 
>   Modified files:
>     sys/ufs/ffs          ffs_alloc.c 
>   Log:
>   Initialize the inode i_flag field in ffs_valloc() to clean up any
>   stale flag bits left over from before the inode was recycled.
>   
>   Without this change, a leftover IN_SPACECOUNTED flag could prevent
>   softdep_freefile() and softdep_releasefile() from incrementing
>   fs_pendinginodes.  Because handle_workitem_freefile() unconditionally
>   decrements fs_pendinginodes, a negative value could be reported at
>   file system unmount time with a message like:
>           unmount pending error: blocks 0 files -3
>   The pending block count in fs_pendingblocks could also be negative
>   for similar reasons.  These errors can cause the data returned by
>   statfs() to be slightly incorrect.  Some other cleanup code in
>   softdep_releasefile() could also be incorrectly bypassed.
>   
>   MFC after:      3 days

Yeah!

This also affects 5.x, by the way.

Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/cvs-src/attachments/20051003/67a17b70/attachment.bin


More information about the cvs-src mailing list