aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorNikolay Borisov <nborisov@suse.com>2021-10-12 11:21:35 +0300
committerDavid Sterba <dsterba@suse.com>2021-10-26 19:08:06 +0200
commitf42c5da6c12e990d8ec415199600b4d593c63bf5 (patch)
tree623c803bfb83b0fb977ab6d218393cb83e052926 /fs/btrfs/inode.c
parentbtrfs: rely on owning_root field in btrfs_add_delayed_tree_ref to detect CHUNK_ROOT (diff)
downloadlinux-dev-f42c5da6c12e990d8ec415199600b4d593c63bf5.tar.xz
linux-dev-f42c5da6c12e990d8ec415199600b4d593c63bf5.zip
btrfs: add additional parameters to btrfs_init_tree_ref/btrfs_init_data_ref
In order to make 'real_root' used only in ref-verify it's required to have the necessary context to perform the same checks that this member is used for. So add 'mod_root' which will contain the root on behalf of which a delayed ref was created and a 'skip_group' parameter which will contain callsite-specific override of skip_qgroup. Signed-off-by: Nikolay Borisov <nborisov@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 6d171fa0ac68..fbff30bf1af9 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -4921,7 +4921,8 @@ delete:
extent_start, extent_num_bytes, 0);
ref.real_root = root->root_key.objectid;
btrfs_init_data_ref(&ref, btrfs_header_owner(leaf),
- ino, extent_offset);
+ ino, extent_offset,
+ root->root_key.objectid, false);
ret = btrfs_free_extent(trans, &ref);
if (ret) {
btrfs_abort_transaction(trans, ret);