diff options
author | brian <brian@FreeBSD.org> | 2007-02-23 20:23:35 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2007-02-23 20:23:35 +0000 |
commit | c3843b2ccaf121804fc5e9fb1a761e28fa284014 (patch) | |
tree | 2541f5718c270583410edef9c317d95fef4526c0 /sys/compat/linux/linux_emul.c | |
parent | baf2de77c9925014d03b440257fc14e32e996eaa (diff) | |
download | FreeBSD-src-c3843b2ccaf121804fc5e9fb1a761e28fa284014.zip FreeBSD-src-c3843b2ccaf121804fc5e9fb1a761e28fa284014.tar.gz |
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
Diffstat (limited to 'sys/compat/linux/linux_emul.c')
0 files changed, 0 insertions, 0 deletions