Revert "ext4: consolidate checks for resize of bigalloc into ext4_resize_begin"

The function ext4_resize_begin() gets called from three different
places, and online resize for bigalloc file systems is disallowed from
the old-style online resize (EXT4_IOC_GROUP_ADD and
EXT4_IOC_GROUP_EXTEND), but it *is* supposed to be allowed via
EXT4_IOC_RESIZE_FS.

This reverts commit e9f9f61d0c.
This commit is contained in:
Theodore Ts'o 2021-06-30 20:54:22 -04:00
parent 16aa4c9a1f
commit 8813587a99
2 changed files with 14 additions and 4 deletions

View File

@ -692,6 +692,13 @@ static long ext4_ioctl_group_add(struct file *file,
if (err) if (err)
return 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); err = mnt_want_write_file(file);
if (err) if (err)
goto group_add_out; goto group_add_out;
@ -914,6 +921,13 @@ setversion_out:
goto group_extend_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); err = mnt_want_write_file(filp);
if (err) if (err)
goto group_extend_out; goto group_extend_out;

View File

@ -74,10 +74,6 @@ int ext4_resize_begin(struct super_block *sb)
return -EPERM; return -EPERM;
} }
if (ext4_has_feature_bigalloc(sb)) {
ext4_msg(sb, KERN_ERR, "Online resizing not supported with bigalloc");
return -EOPNOTSUPP;
}
if (ext4_has_feature_sparse_super2(sb)) { if (ext4_has_feature_sparse_super2(sb)) {
ext4_msg(sb, KERN_ERR, "Online resizing not supported with sparse_super2"); ext4_msg(sb, KERN_ERR, "Online resizing not supported with sparse_super2");
return -EOPNOTSUPP; return -EOPNOTSUPP;