From cd84e9a337987658b8508fac2e4de4bd52e4b48d Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Mon, 28 Apr 2014 10:07:16 -0400 Subject: [PATCH] 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" --- resize/resize2fs.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resize/resize2fs.c b/resize/resize2fs.c index 0d968fa..c672cdb 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -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, -- 1.8.3.1