diff options
Diffstat (limited to 'fs/btrfs/delayed-ref.c')
| -rw-r--r-- | fs/btrfs/delayed-ref.c | 17 | 
1 files changed, 7 insertions, 10 deletions
| diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c index ca848b183474..cca7e85e32dd 100644 --- a/fs/btrfs/delayed-ref.c +++ b/fs/btrfs/delayed-ref.c @@ -906,7 +906,7 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans,  	u64 parent = generic_ref->parent;  	u8 ref_type; -	is_system = (generic_ref->real_root == BTRFS_CHUNK_TREE_OBJECTID); +	is_system = (generic_ref->tree_ref.owning_root == BTRFS_CHUNK_TREE_OBJECTID);  	ASSERT(generic_ref->type == BTRFS_REF_METADATA && generic_ref->action);  	BUG_ON(extent_op && extent_op->is_data); @@ -921,8 +921,6 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans,  	}  	if (test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) && -	    is_fstree(generic_ref->real_root) && -	    is_fstree(generic_ref->tree_ref.root) &&  	    !generic_ref->skip_qgroup) {  		record = kzalloc(sizeof(*record), GFP_NOFS);  		if (!record) { @@ -938,14 +936,15 @@ int btrfs_add_delayed_tree_ref(struct btrfs_trans_handle *trans,  		ref_type = BTRFS_TREE_BLOCK_REF_KEY;  	init_delayed_ref_common(fs_info, &ref->node, bytenr, num_bytes, -				generic_ref->tree_ref.root, action, ref_type); -	ref->root = generic_ref->tree_ref.root; +				generic_ref->tree_ref.owning_root, action, +				ref_type); +	ref->root = generic_ref->tree_ref.owning_root;  	ref->parent = parent;  	ref->level = level;  	init_delayed_ref_head(head_ref, record, bytenr, num_bytes, -			      generic_ref->tree_ref.root, 0, action, false, -			      is_system); +			      generic_ref->tree_ref.owning_root, 0, action, +			      false, is_system);  	head_ref->extent_op = extent_op;  	delayed_refs = &trans->transaction->delayed_refs; @@ -997,7 +996,7 @@ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,  	u64 bytenr = generic_ref->bytenr;  	u64 num_bytes = generic_ref->len;  	u64 parent = generic_ref->parent; -	u64 ref_root = generic_ref->data_ref.ref_root; +	u64 ref_root = generic_ref->data_ref.owning_root;  	u64 owner = generic_ref->data_ref.ino;  	u64 offset = generic_ref->data_ref.offset;  	u8 ref_type; @@ -1026,8 +1025,6 @@ int btrfs_add_delayed_data_ref(struct btrfs_trans_handle *trans,  	}  	if (test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags) && -	    is_fstree(ref_root) && -	    is_fstree(generic_ref->real_root) &&  	    !generic_ref->skip_qgroup) {  		record = kzalloc(sizeof(*record), GFP_NOFS);  		if (!record) { |