Thank you for the patch, I've refined your testcase: #!/bin/sh touch testfs truncate -s2G testfs touch testjournal truncate -s128M testjournal LOLOG=`losetup -f` losetup "${LOLOG}" testjournal mke2fs -O journal_dev "${LOLOG}" LOFS=`losetup -f` losetup "${LOFS}" testfs mkfs.ext4 -J device="${LOLOG}" "${LOFS}" 127680 echo -e "\n\nThis will fail\n" resize2fs "${LOFS}" echo -e "\nFsck to clear\n" fsck -fy "${LOFS}" echo -e "\n\nIf run in the build dir of a the current version/git checkout with the patch applied and build... ./resize/resize2fs will work.\n" ./resize/resize2fs "${LOFS}" losetup -d "${LOLOG}" losetup -d "${LOFS}" Insert data checks/etc as desired. On Mon, Nov 9, 2009 at 12:57 PM, Eric Sandeen <sandeen@xxxxxxxxxx> wrote: > Resizing a filesystem with an external journal fails when it tries > to read inode 0: > > # touch testfs > # truncate testfs 1342177280 > # touch testjournal > # truncate testjournal 134217728 > # mke2fs -O journal_dev testjournal > # losetup /dev/loop0 testjournal > # mkfs.ext4 -J device=/dev/loop0 testfs 127680 > # resize2fs testfs > resize2fs 1.41.9 (22-Aug-2009) > Resizing the filesystem on testfs to 327680 (4k) blocks. > resize2fs: Illegal inode number while trying to resize testfs > Please run 'e2fsck -fy testfs' to fix the filesystem > after the aborted resize operation. > > I think the right, simple thing to do is just bail out early > for an external journal here, as there are no backup blocks > to update. > > Reported-by: mjevans1983@xxxxxxxxx > Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > > diff --git a/resize/resize2fs.c b/resize/resize2fs.c > index 5a1eb2a..2d4a14f 100644 > --- a/resize/resize2fs.c > +++ b/resize/resize2fs.c > @@ -1887,6 +1887,10 @@ static errcode_t fix_sb_journal_backup(ext2_filsys fs) > if (!(fs->super->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL)) > return 0; > > + /* External journal? Nothing to do. */ > + if (fs->super->s_journal_dev && !fs->super->s_journal_inum) > + return 0; > + > retval = ext2fs_read_inode(fs, fs->super->s_journal_inum, &inode); > if (retval) > return retval; > > -- 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