cvs commit: src/sys/ufs/ffs ffs_alloc.c ffs_softdep.c
Brian Somers
brian at FreeBSD.org
Fri Feb 23 20:23:36 UTC 2007
brian 2007-02-23 20:23:36 UTC
FreeBSD src repository
Modified files:
sys/ufs/ffs ffs_alloc.c ffs_softdep.c
Log:
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
value.
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.
Reviewed by: tegge
MFC after: 3 weeks
Revision Changes Path
1.145 +28 -3 src/sys/ufs/ffs/ffs_alloc.c
1.204 +4 -4 src/sys/ufs/ffs/ffs_softdep.c
More information about the cvs-src
mailing list