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 e9f9f61d0cdcb7f0b0b5feb2d84aa1c5894751f3.
This commit is contained in:
parent
16aa4c9a1f
commit
8813587a99
@ -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;
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user