const char *name,
                                                   int name_len)
 {
-       struct btrfs_fs_info *fs_info = root->fs_info;
        int ret;
        char *ptr;
        struct extent_buffer *leaf;
        ret = btrfs_insert_empty_item(trans, root, path, cpu_key, data_size);
        if (ret == -EEXIST) {
                struct btrfs_dir_item *di;
-               di = btrfs_match_dir_item_name(fs_info, path, name, name_len);
+               di = btrfs_match_dir_item_name(path, name, name_len);
                if (di)
                        return ERR_PTR(-EEXIST);
                btrfs_extend_item(trans, path, data_size);
        if (ret > 0)
                return ERR_PTR(-ENOENT);
 
-       return btrfs_match_dir_item_name(root->fs_info, path, name, name_len);
+       return btrfs_match_dir_item_name(path, name, name_len);
 }
 
 /*
                if (key.objectid != dirid || key.type != BTRFS_DIR_INDEX_KEY)
                        break;
 
-               di = btrfs_match_dir_item_name(root->fs_info, path,
-                                              name->name, name->len);
+               di = btrfs_match_dir_item_name(path, name->name, name->len);
                if (di)
                        return di;
        }
  * this walks through all the entries in a dir item and finds one
  * for a specific name.
  */
-struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_fs_info *fs_info,
-                                                const struct btrfs_path *path,
+struct btrfs_dir_item *btrfs_match_dir_item_name(const struct btrfs_path *path,
                                                 const char *name, int name_len)
 {
        struct btrfs_dir_item *dir_item;
 
                                          struct btrfs_path *path, u64 dir,
                                          const char *name, u16 name_len,
                                          int mod);
-struct btrfs_dir_item *btrfs_match_dir_item_name(struct btrfs_fs_info *fs_info,
-                                                const struct btrfs_path *path,
+struct btrfs_dir_item *btrfs_match_dir_item_name(const struct btrfs_path *path,
                                                 const char *name,
                                                 int name_len);
 
 
                                  struct recorded_ref *parent_ref,
                                  const bool is_orphan)
 {
-       struct btrfs_fs_info *fs_info = sctx->parent_root->fs_info;
        struct btrfs_path *path;
        struct btrfs_key key;
        struct btrfs_key di_key;
                goto out;
        }
 
-       di = btrfs_match_dir_item_name(fs_info, path, parent_ref->name,
+       di = btrfs_match_dir_item_name(path, parent_ref->name,
                                       parent_ref->name_len);
        if (!di) {
                ret = 0;
 
 {
        struct btrfs_dir_item *di = NULL;
        struct btrfs_root *root = BTRFS_I(inode)->root;
-       struct btrfs_fs_info *fs_info = root->fs_info;
        struct btrfs_path *path;
        size_t name_len = strlen(name);
        int ret = 0;
                 */
                ret = 0;
                btrfs_assert_tree_write_locked(path->nodes[0]);
-               di = btrfs_match_dir_item_name(fs_info, path, name, name_len);
+               di = btrfs_match_dir_item_name(path, name, name_len);
                if (!di && !(flags & XATTR_REPLACE)) {
                        ret = -ENOSPC;
                        goto out;
                }
        } else if (ret == -EEXIST) {
                ret = 0;
-               di = btrfs_match_dir_item_name(fs_info, path, name, name_len);
+               di = btrfs_match_dir_item_name(path, name, name_len);
                ASSERT(di); /* logic error */
        } else if (ret) {
                goto out;