freebsd-dev/sbin/fsck_ffs
Konstantin Belousov 364e72457f For incompleted block allocations or frees, the inode block count usage
must be recalculated. The blk_check pass of suj checker explicitely marks
inodes which owned such blocks as needing block count adjustment. But
ino_adjblks() is only called by cg_trunc pass, which is performed before
blk_check. As result, the block use count for such inodes is left wrong.
This causes full fsck run after journaled run to still find inconsistencies
like 'INCORRECT BLOCK COUNT I=14557 (328 should be 0)' in phase 1.

Fix this issue by running additional adj_blk pass after blk_check, which
updates the field.

Reviewed by:	jeff, mckusick
MFC after:	1 week
2012-06-12 21:37:27 +00:00
..
dir.c Fix the check in dircheck() on namlen. 2011-09-02 17:05:34 +00:00
ea.c Mechanical whitespace cleanup. 2011-04-27 02:55:03 +00:00
fsck_ffs.8 Be more helpful about alternate superblocks. 2012-02-10 12:01:19 +00:00
fsck.h Spelling fixes for sbin/ 2012-01-07 16:09:33 +00:00
fsutil.c Spelling fixes for sbin/ 2012-01-07 16:09:33 +00:00
gjournal.c Fix warning when compiling with gcc46: 2012-01-10 02:59:50 +00:00
inode.c Mechanical whitespace cleanup. 2011-04-27 02:55:03 +00:00
main.c Forgot this nit in r221107. 2011-09-03 03:12:33 +00:00
Makefile - Merge soft-updates journaling from projects/suj/head into head. This 2010-04-24 07:05:35 +00:00
pass1.c Add some error messages suggested in PR bin/138043. The code to 2010-01-07 01:10:49 +00:00
pass1b.c The got_siginfo = 0 should have been got_sigalarm=0 to match the other 2004-10-10 06:37:56 +00:00
pass2.c Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
pass3.c Eliminate linked list used to track inodes with an initial link 2004-10-08 20:44:47 +00:00
pass4.c Add support to background fsck to delete zero-length directories. 2010-05-20 06:05:40 +00:00
pass5.c Break out the pass 5 inode and block map updating into a separate function 2011-07-15 15:43:40 +00:00
setup.c Be more helpful about alternate superblocks. 2012-02-10 12:01:19 +00:00
suj.c For incompleted block allocations or frees, the inode block count usage 2012-06-12 21:37:27 +00:00
utilities.c Mechanical whitespace cleanup. 2011-04-27 02:55:03 +00:00