Lines Matching refs:head

238 			   struct btrfs_delayed_ref_head *head)  in btrfs_delayed_ref_lock()  argument
244 if (mutex_trylock(&head->mutex)) in btrfs_delayed_ref_lock()
247 atomic_inc(&head->node.refs); in btrfs_delayed_ref_lock()
250 mutex_lock(&head->mutex); in btrfs_delayed_ref_lock()
252 if (!head->node.in_tree) { in btrfs_delayed_ref_lock()
253 mutex_unlock(&head->mutex); in btrfs_delayed_ref_lock()
254 btrfs_put_delayed_ref(&head->node); in btrfs_delayed_ref_lock()
257 btrfs_put_delayed_ref(&head->node); in btrfs_delayed_ref_lock()
263 struct btrfs_delayed_ref_head *head, in drop_delayed_ref() argument
267 head = btrfs_delayed_node_to_head(ref); in drop_delayed_ref()
268 rb_erase(&head->href_node, &delayed_refs->href_root); in drop_delayed_ref()
270 assert_spin_locked(&head->lock); in drop_delayed_ref()
271 rb_erase(&ref->rb_node, &head->ref_root); in drop_delayed_ref()
282 struct btrfs_delayed_ref_head *head, in merge_ref() argument
314 drop_delayed_ref(trans, delayed_refs, head, next); in merge_ref()
317 drop_delayed_ref(trans, delayed_refs, head, ref); in merge_ref()
334 struct btrfs_delayed_ref_head *head) in btrfs_merge_delayed_refs() argument
339 assert_spin_locked(&head->lock); in btrfs_merge_delayed_refs()
344 if (head->is_data) in btrfs_merge_delayed_refs()
357 node = rb_first(&head->ref_root); in btrfs_merge_delayed_refs()
366 if (merge_ref(trans, delayed_refs, head, ref, seq)) in btrfs_merge_delayed_refs()
367 node = rb_first(&head->ref_root); in btrfs_merge_delayed_refs()
401 struct btrfs_delayed_ref_head *head; in btrfs_select_ref_head() local
409 head = find_ref_head(&delayed_refs->href_root, start, 1); in btrfs_select_ref_head()
410 if (!head && !loop) { in btrfs_select_ref_head()
414 head = find_ref_head(&delayed_refs->href_root, start, 1); in btrfs_select_ref_head()
415 if (!head) in btrfs_select_ref_head()
417 } else if (!head && loop) { in btrfs_select_ref_head()
421 while (head->processing) { in btrfs_select_ref_head()
424 node = rb_next(&head->href_node); in btrfs_select_ref_head()
433 head = rb_entry(node, struct btrfs_delayed_ref_head, in btrfs_select_ref_head()
437 head->processing = 1; in btrfs_select_ref_head()
440 delayed_refs->run_delayed_start = head->node.bytenr + in btrfs_select_ref_head()
441 head->node.num_bytes; in btrfs_select_ref_head()
442 return head; in btrfs_select_ref_head()
456 struct btrfs_delayed_ref_head *head, in update_existing_ref() argument
469 drop_delayed_ref(trans, delayed_refs, head, existing); in update_existing_ref()