Commit 8813587a authored by Theodore Ts'o's avatar Theodore Ts'o
Browse files

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 e9f9f61d.
parent 16aa4c9a
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -692,6 +692,13 @@ 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;
@@ -914,6 +921,13 @@ static long __ext4_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
			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;
+0 −4
Original line number Diff line number Diff line
@@ -74,10 +74,6 @@ 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 (ext4_has_feature_sparse_super2(sb)) {
		ext4_msg(sb, KERN_ERR, "Online resizing not supported with sparse_super2");
		return -EOPNOTSUPP;