resize2fs: fix inode table move for the backwards move case

In the case where the new location of the inode table is before the
old inode table, the optimization which tries to optimize zero block
moves breaks.  Fix it.

This fixes a bug that was tickled by the reproduction described in the
previous commit.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
Theodore Ts'o 2014-04-28 10:07:16 -04:00
parent d51072af0a
commit cd84e9a337

View File

@ -1869,6 +1869,8 @@ static errcode_t move_itables(ext2_resize_t rfs)
if (!diff)
continue;
if (diff < 0)
diff = 0;
retval = io_channel_read_blk64(fs->io, old_blk,
fs->inode_blocks_per_group,