diff options
author | Theodore Ts'o <tytso@mit.edu> | 2005-01-23 16:49:56 -0500 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2005-01-23 16:49:56 -0500 |
commit | 2d096010069cc7caae16ce21357668c53fe8e1c5 (patch) | |
tree | 238460b8495b37e27c68eb143c89904711ed9c41 /e2fsck | |
parent | 02f61b88741ade4fbddf5f59994915a09ce95539 (diff) | |
download | e2fsprogs-2d096010069cc7caae16ce21357668c53fe8e1c5.tar.gz |
Fix e2fsck so that it does not complain if the resize_inode feature is
enabled, but s_reserved_gdt_blocks is zero and there is no double indirect
block in the resize inode. If there are no blocks reserved for on-line
expansion, there is no need for the DIND block to be allocated in the resize
inode.
Diffstat (limited to 'e2fsck')
-rw-r--r-- | e2fsck/ChangeLog | 6 | ||||
-rw-r--r-- | e2fsck/super.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/e2fsck/ChangeLog b/e2fsck/ChangeLog index f9ffac99..332f0c13 100644 --- a/e2fsck/ChangeLog +++ b/e2fsck/ChangeLog @@ -1,3 +1,9 @@ +2005-01-21 Theodore Ts'o <tytso@mit.edu> + + * super.c (check_resize_inode): If resize feature is set, but + s_reserved_gdt_blocks is zero, do not insist that resize + inode must have double indirect block. + 2005-01-19 Theodore Ts'o <tytso@mit.edu> * unix.c (e2fsck_simple_progress): Use fixed integer math diff --git a/e2fsck/super.c b/e2fsck/super.c index 2dff3b3e..2e9e6a8c 100644 --- a/e2fsck/super.c +++ b/e2fsck/super.c @@ -368,6 +368,9 @@ void check_resize_inode(e2fsck_t ctx) * only block in use is the double indirect block */ blk = inode.i_block[EXT2_DIND_BLOCK]; + if (!blk && !fs->super->s_reserved_gdt_blocks) + /* No reserved gdt blocks; no need for dind block */ + return; for (i=0; i < EXT2_N_BLOCKS; i++) { if (i != EXT2_DIND_BLOCK && inode.i_block[i]) break; |