diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c index 13c2e00d1270..f50fc05847a1 100644 --- a/fs/btrfs/delayed-ref.c +++ b/fs/btrfs/delayed-ref.c @@ -1012,6 +1012,7 @@ static int add_delayed_ref(struct btrfs_trans_handle *trans, int action = generic_ref->action; bool merged; int ret; + u64 bytenr; node = kmem_cache_alloc(btrfs_delayed_ref_node_cachep, GFP_NOFS); if (!node) @@ -1056,6 +1057,7 @@ static int add_delayed_ref(struct btrfs_trans_handle *trans, goto free_record; } head_ref = new_head_ref; + bytenr = head_ref->bytenr; merged = insert_delayed_ref(trans, head_ref, node); spin_unlock(&delayed_refs->lock); @@ -1074,7 +1076,7 @@ static int add_delayed_ref(struct btrfs_trans_handle *trans, kmem_cache_free(btrfs_delayed_ref_node_cachep, node); if (qrecord_inserted) - return btrfs_qgroup_trace_extent_post(trans, record, head_ref->bytenr); + return btrfs_qgroup_trace_extent_post(trans, record, bytenr); return 0; free_record: