*/
                delayed_refs = &ctx->trans->transaction->delayed_refs;
                spin_lock(&delayed_refs->lock);
-               head = btrfs_find_delayed_ref_head(delayed_refs, ctx->bytenr);
+               head = btrfs_find_delayed_ref_head(ctx->fs_info, delayed_refs,
+                                                  ctx->bytenr);
                if (head) {
                        if (!mutex_trylock(&head->mutex)) {
                                refcount_inc(&head->refs);
 
  * is given, the next bigger entry is returned if no exact match is found.
  */
 static struct btrfs_delayed_ref_head *find_ref_head(
+               const struct btrfs_fs_info *fs_info,
                struct btrfs_delayed_ref_root *dr, u64 bytenr,
                bool return_bigger)
 {
 }
 
 struct btrfs_delayed_ref_head *btrfs_select_ref_head(
+               const struct btrfs_fs_info *fs_info,
                struct btrfs_delayed_ref_root *delayed_refs)
 {
        struct btrfs_delayed_ref_head *head;
 
        spin_lock(&delayed_refs->lock);
 again:
-       head = find_ref_head(delayed_refs, delayed_refs->run_delayed_start,
-                            true);
+       head = find_ref_head(fs_info, delayed_refs,
+                            delayed_refs->run_delayed_start, true);
        if (!head && delayed_refs->run_delayed_start != 0) {
                delayed_refs->run_delayed_start = 0;
                head = find_first_ref_head(delayed_refs);
  * head node if found, or NULL if not.
  */
 struct btrfs_delayed_ref_head *
-btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr)
+btrfs_find_delayed_ref_head(const struct btrfs_fs_info *fs_info,
+                           struct btrfs_delayed_ref_root *delayed_refs,
+                           u64 bytenr)
 {
        lockdep_assert_held(&delayed_refs->lock);
 
-       return find_ref_head(delayed_refs, bytenr, false);
+       return find_ref_head(fs_info, delayed_refs, bytenr, false);
 }
 
 static int find_comp(struct btrfs_delayed_ref_node *entry, u64 root, u64 parent)
 
                              struct btrfs_delayed_ref_head *head);
 
 struct btrfs_delayed_ref_head *
-btrfs_find_delayed_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
+btrfs_find_delayed_ref_head(const struct btrfs_fs_info *fs_info,
+                           struct btrfs_delayed_ref_root *delayed_refs,
                            u64 bytenr);
 static inline void btrfs_delayed_ref_unlock(struct btrfs_delayed_ref_head *head)
 {
                           struct btrfs_delayed_ref_head *head);
 
 struct btrfs_delayed_ref_head *btrfs_select_ref_head(
+               const struct btrfs_fs_info *fs_info,
                struct btrfs_delayed_ref_root *delayed_refs);
 void btrfs_unselect_ref_head(struct btrfs_delayed_ref_root *delayed_refs,
                             struct btrfs_delayed_ref_head *head);
 
 
        delayed_refs = &trans->transaction->delayed_refs;
        spin_lock(&delayed_refs->lock);
-       head = btrfs_find_delayed_ref_head(delayed_refs, bytenr);
+       head = btrfs_find_delayed_ref_head(fs_info, delayed_refs, bytenr);
        if (head) {
                if (!mutex_trylock(&head->mutex)) {
                        refcount_inc(&head->refs);
 
        do {
                if (!locked_ref) {
-                       locked_ref = btrfs_select_ref_head(delayed_refs);
+                       locked_ref = btrfs_select_ref_head(fs_info, delayed_refs);
                        if (IS_ERR_OR_NULL(locked_ref)) {
                                if (PTR_ERR(locked_ref) == -EAGAIN) {
                                        continue;
 
        delayed_refs = &cur_trans->delayed_refs;
        spin_lock(&delayed_refs->lock);
-       head = btrfs_find_delayed_ref_head(delayed_refs, bytenr);
+       head = btrfs_find_delayed_ref_head(root->fs_info, delayed_refs, bytenr);
        if (!head) {
                spin_unlock(&delayed_refs->lock);
                btrfs_put_transaction(cur_trans);
 
        delayed_refs = &trans->transaction->delayed_refs;
        spin_lock(&delayed_refs->lock);
-       head = btrfs_find_delayed_ref_head(delayed_refs, bytenr);
+       head = btrfs_find_delayed_ref_head(trans->fs_info, delayed_refs, bytenr);
        if (!head)
                goto out_delayed_unlock;
 
         */
        delayed_refs = &trans->transaction->delayed_refs;
        spin_lock(&delayed_refs->lock);
-       head = btrfs_find_delayed_ref_head(delayed_refs, bytenr);
+       head = btrfs_find_delayed_ref_head(root->fs_info, delayed_refs, bytenr);
        if (!head)
                goto out;
        if (!mutex_trylock(&head->mutex)) {