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