Date: Fri, 23 Feb 2007 20:23:36 +0000 (UTC) From: Brian Somers <brian@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ufs/ffs ffs_alloc.c ffs_softdep.c Message-ID: <200702232023.l1NKNaeZ086158@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200702232023.l1NKNaeZ086158>
