Module Name: src
Committed By: jakllsch
Date: Sun Nov 25 19:36:23 UTC 2012
Modified Files:
src/sbin/fsck_ext2fs: dir.c
Log Message:
e2di_nblock is (assuming the huge_file feature is not active) stored in
DEV_BSIZE units, not fs block size units.
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sbin/fsck_ext2fs/dir.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sbin/fsck_ext2fs/dir.c
diff -u src/sbin/fsck_ext2fs/dir.c:1.23 src/sbin/fsck_ext2fs/dir.c:1.24
--- src/sbin/fsck_ext2fs/dir.c:1.23 Mon Oct 19 18:41:07 2009
+++ src/sbin/fsck_ext2fs/dir.c Sun Nov 25 19:36:23 2012
@@ -1,4 +1,4 @@
-/* $NetBSD: dir.c,v 1.23 2009/10/19 18:41:07 bouyer Exp $ */
+/* $NetBSD: dir.c,v 1.24 2012/11/25 19:36:23 jakllsch Exp $ */
/*
* Copyright (c) 1980, 1986, 1993
@@ -58,7 +58,7 @@
#if 0
static char sccsid[] = "@(#)dir.c 8.5 (Berkeley) 12/8/94";
#else
-__RCSID("$NetBSD: dir.c,v 1.23 2009/10/19 18:41:07 bouyer Exp $");
+__RCSID("$NetBSD: dir.c,v 1.24 2012/11/25 19:36:23 jakllsch Exp $");
#endif
#endif /* not lint */
@@ -569,7 +569,8 @@ expanddir(struct ext2fs_dinode *dp, char
dp->e2di_blocks[lastbn + 1] = dp->e2di_blocks[lastbn];
dp->e2di_blocks[lastbn] = h2fs32(newblk);
inossize(dp, inosize(dp) + sblock.e2fs_bsize);
- dp->e2di_nblock = h2fs32(fs2h32(dp->e2di_nblock) + 1);
+ dp->e2di_nblock = h2fs32(fs2h32(dp->e2di_nblock) +
+ btodb(sblock.e2fs_bsize));
bp = getdirblk(fs2h32(dp->e2di_blocks[lastbn + 1]),
sblock.e2fs_bsize);
if (bp->b_errs)
@@ -603,7 +604,8 @@ bad:
dp->e2di_blocks[lastbn] = dp->e2di_blocks[lastbn + 1];
dp->e2di_blocks[lastbn + 1] = 0;
inossize(dp, inosize(dp) - sblock.e2fs_bsize);
- dp->e2di_nblock = h2fs32(fs2h32(dp->e2di_nblock) - 1);
+ dp->e2di_nblock = h2fs32(fs2h32(dp->e2di_nblock) -
+ btodb(sblock.e2fs_bsize));
freeblk(newblk);
return (0);
}