ext4: consolidate checks for resize of bigalloc into ext4_resize_begin
authorJosh Triplett <josh@joshtriplett.org>
Mon, 7 Jun 2021 19:15:08 +0000 (12:15 -0700)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 24 Jun 2021 14:22:36 +0000 (10:22 -0400)
Two different places checked for attempts to resize a filesystem with
the bigalloc feature. Move the check into ext4_resize_begin, which both
places already call.

Signed-off-by: Josh Triplett <josh@joshtriplett.org>
Link: https://lore.kernel.org/r/bee03303d999225ecb3bfa5be8576b2f4c6edbe6.1623093259.git.josh@joshtriplett.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ioctl.c
fs/ext4/resize.c

index 5730aeca563c83b4b3ad235db5cb0968a21fd5df..e27f34bceb8dd3ad6f5ec6874f1540462656c687 100644 (file)
@@ -692,13 +692,6 @@ static long ext4_ioctl_group_add(struct file *file,
        if (err)
                return err;
 
-       if (ext4_has_feature_bigalloc(sb)) {
-               ext4_msg(sb, KERN_ERR,
-                        "Online resizing not supported with bigalloc");
-               err = -EOPNOTSUPP;
-               goto group_add_out;
-       }
-
        err = mnt_want_write_file(file);
        if (err)
                goto group_add_out;
@@ -921,13 +914,6 @@ setversion_out:
                        goto group_extend_out;
                }
 
-               if (ext4_has_feature_bigalloc(sb)) {
-                       ext4_msg(sb, KERN_ERR,
-                                "Online resizing not supported with bigalloc");
-                       err = -EOPNOTSUPP;
-                       goto group_extend_out;
-               }
-
                err = mnt_want_write_file(filp);
                if (err)
                        goto group_extend_out;
index bd0d185654f3357cdc7a5826a6d3afa87c052dff..d13bb9e76482f9cbd3495af4f05cf56f9b299e44 100644 (file)
@@ -74,6 +74,11 @@ int ext4_resize_begin(struct super_block *sb)
                return -EPERM;
        }
 
+       if (ext4_has_feature_bigalloc(sb)) {
+               ext4_msg(sb, KERN_ERR, "Online resizing not supported with bigalloc");
+               return -EOPNOTSUPP;
+       }
+
        if (test_and_set_bit_lock(EXT4_FLAGS_RESIZING,
                                  &EXT4_SB(sb)->s_ext4_flags))
                ret = -EBUSY;