cvs commit: src/sys/ufs/ffs ffs_alloc.c ffs_softdep.c
kris at obsecurity.org
Fri Feb 23 20:41:16 UTC 2007
On Fri, Feb 23, 2007 at 08:23:36PM +0000, Brian Somers wrote:
> brian 2007-02-23 20:23:36 UTC
> FreeBSD src repository
> Modified files:
> sys/ufs/ffs ffs_alloc.c ffs_softdep.c
> Account for di_blocks allocations when IN_SPACECOUNTED is set in an
> inode's i_flag.
> It's possible that after ufs_infactive() calls softdep_releasefile(),
> i_nlink stays >0 for a considerable amount of time (> 60 seconds here).
> During this period, any ffs allocation routines that alter di_blocks
> must also account for the blocks in the filesystem's fs_pendingblocks
> This change fixes an eventual df/du discrepency that will happen as
> the result of fs_pendingblocks being reduced to <0.
> The only manifestation of this that people may recognise is the
> following message on boot:
> /somefs: update error: blocks -N files M
> at which point the negative pending block count is adjusted to zero.
\o/ I hate that bug!
More information about the cvs-src