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

Don Lewis truckman at FreeBSD.org
Mon Oct 3 15:33:59 PDT 2005


On  3 Oct, Kris Kennaway wrote:
> 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.

Probably 4.x as well.  I'm planning on MFC'ing this all the way back
once it has aged sufficiently.



More information about the cvs-src mailing list