diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-02-07 08:21:32 +0000 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-02-07 08:21:32 +0000 |
commit | 6d280f4d760e3bcb4a8df302afebf085b65ec982 (patch) | |
tree | e1cd6569e009c02f842617af00f6e88aa8500997 /fs/btrfs/ioctl.c | |
parent | 99bd3cb0d12e85d5114425353552121ec8f93adc (diff) | |
parent | e03ee2fe873eb68c1f9ba5112fee70303ebf9dfb (diff) |
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.c | 5 |
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); |