Whamcloud - gitweb
e2fsck: allow to check >2GB sized directory
authorArtem Blagodarenko <artem.blagodarenko@gmail.com>
Tue, 5 Feb 2019 22:09:16 +0000 (17:09 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 5 Feb 2019 22:11:16 +0000 (17:11 -0500)
After large_dir feature has been added, e2fsprogs is
ready for directories > 2GB, so we can remove e2fsck
directory size check.

Signed-off-by: Artem Blagodarenko <artem.blagodarenko@gmail.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
e2fsck/pass1.c

index 4553438..358f214 100644 (file)
@@ -3646,9 +3646,12 @@ static int process_block(ext2_filsys fs,
                }
        }
 
-       if (p->is_dir && blockcnt > (1 << (21 - fs->super->s_log_block_size)))
+       if (p->is_dir && !ext2fs_has_feature_largedir(fs->super) &&
+           blockcnt > (1 << (21 - fs->super->s_log_block_size)))
                problem = PR_1_TOOBIG_DIR;
-       if (p->is_reg && p->num_blocks+1 >= p->max_blocks)
+       if (p->is_dir && p->num_blocks + 1 >= p->max_blocks)
+               problem = PR_1_TOOBIG_DIR;
+       if (p->is_reg && p->num_blocks + 1 >= p->max_blocks)
                problem = PR_1_TOOBIG_REG;
        if (!p->is_dir && !p->is_reg && blockcnt > 0)
                problem = PR_1_TOOBIG_SYMLINK;