Whamcloud - gitweb
ext2fs: don't check s_inodes_count with EXT2_FLAG_IGNORE_SB_ERRORS
authorJan Kara <jack@suse.cz>
Tue, 19 Jun 2018 15:33:11 +0000 (11:33 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 19 Jun 2018 15:33:11 +0000 (11:33 -0400)
Don't verify s_inodes_count is correct with EXT2_FLAG_IGNORE_SB_ERRORS
flag set. This allows e2fsck and debugfs to fix this value.

Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
lib/ext2fs/openfs.c

index 93d41b3..902d69e 100644 (file)
@@ -380,7 +380,8 @@ errcode_t ext2fs_open2(const char *name, const char *io_options,
                goto cleanup;
        }
        fs->group_desc_count =  groups_cnt;
-       if ((__u64)fs->group_desc_count * EXT2_INODES_PER_GROUP(fs->super) !=
+       if (!(flags & EXT2_FLAG_IGNORE_SB_ERRORS) &&
+           (__u64)fs->group_desc_count * EXT2_INODES_PER_GROUP(fs->super) !=
            fs->super->s_inodes_count) {
                retval = EXT2_ET_CORRUPT_SUPERBLOCK;
                goto cleanup;