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@xxxxxxx> --- 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.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html