summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ioctl.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2024-02-07 08:21:32 +0000
committerLinus Torvalds <torvalds@linux-foundation.org>2024-02-07 08:21:32 +0000
commit6d280f4d760e3bcb4a8df302afebf085b65ec982 (patch)
treee1cd6569e009c02f842617af00f6e88aa8500997 /fs/btrfs/ioctl.c
parent99bd3cb0d12e85d5114425353552121ec8f93adc (diff)
parente03ee2fe873eb68c1f9ba5112fee70303ebf9dfb (diff)
downloadlinux-6d280f4d760e3bcb4a8df302afebf085b65ec982.tar.gz
linux-6d280f4d760e3bcb4a8df302afebf085b65ec982.tar.bz2
linux-6d280f4d760e3bcb4a8df302afebf085b65ec982.zip
Merge tag 'for-6.8-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs fixes from David Sterba: - two fixes preventing deletion and manual creation of subvolume qgroup - unify error code returned for unknown send flags - fix assertion during subvolume creation when anonymous device could be allocated by other thread (e.g. due to backref walk) * tag 'for-6.8-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: do not ASSERT() if the newly created subvolume already got read btrfs: forbid deleting live subvol qgroup btrfs: forbid creating subvol qgroups btrfs: send: return EOPNOTSUPP on unknown flags
Diffstat (limited to 'fs/btrfs/ioctl.c')
-rw-r--r--fs/btrfs/ioctl.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index dfed9dd9c2d7..ac3316e0d11c 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -3815,6 +3815,11 @@ static long btrfs_ioctl_qgroup_create(struct file *file, void __user *arg)
goto out;
}
+ if (sa->create && is_fstree(sa->qgroupid)) {
+ ret = -EINVAL;
+ goto out;
+ }
+
trans = btrfs_join_transaction(root);
if (IS_ERR(trans)) {
ret = PTR_ERR(trans);