void __cold btrfs_destroy_cachep(void);
 struct inode *btrfs_iget_path(struct super_block *s, u64 ino,
                              struct btrfs_root *root, struct btrfs_path *path);
-struct inode *btrfs_iget(struct super_block *s, u64 ino, struct btrfs_root *root);
+struct inode *btrfs_iget(u64 ino, struct btrfs_root *root);
 struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
                                    struct page *page, u64 start, u64 len);
 int btrfs_update_inode(struct btrfs_trans_handle *trans,
 
                goto cleanup;
        }
 
-       inode = btrfs_iget(fs_info->sb, defrag->ino, inode_root);
+       inode = btrfs_iget(defrag->ino, inode_root);
        btrfs_put_root(inode_root);
        if (IS_ERR(inode)) {
                ret = PTR_ERR(inode);
 
        if (IS_ERR(root))
                return ERR_CAST(root);
 
-       inode = btrfs_iget(sb, objectid, root);
+       inode = btrfs_iget(objectid, root);
        btrfs_put_root(root);
        if (IS_ERR(inode))
                return ERR_CAST(inode);
                                        found_key.offset, 0);
        }
 
-       return d_obtain_alias(btrfs_iget(fs_info->sb, key.objectid, root));
+       return d_obtain_alias(btrfs_iget(key.objectid, root));
 fail:
        btrfs_free_path(path);
        return ERR_PTR(ret);
 
                found_key.objectid = found_key.offset;
                found_key.type = BTRFS_INODE_ITEM_KEY;
                found_key.offset = 0;
-               inode = btrfs_iget(fs_info->sb, last_objectid, root);
+               inode = btrfs_iget(last_objectid, root);
                if (IS_ERR(inode)) {
                        ret = PTR_ERR(inode);
                        inode = NULL;
        return ERR_PTR(ret);
 }
 
-struct inode *btrfs_iget(struct super_block *s, u64 ino, struct btrfs_root *root)
+struct inode *btrfs_iget(u64 ino, struct btrfs_root *root)
 {
-       return btrfs_iget_path(s, ino, root, NULL);
+       return btrfs_iget_path(root->fs_info->sb, ino, root, NULL);
 }
 
 static struct inode *new_simple_dir(struct inode *dir,
                return ERR_PTR(ret);
 
        if (location.type == BTRFS_INODE_ITEM_KEY) {
-               inode = btrfs_iget(dir->i_sb, location.objectid, root);
+               inode = btrfs_iget(location.objectid, root);
                if (IS_ERR(inode))
                        return inode;
 
                else
                        inode = new_simple_dir(dir, &location, root);
        } else {
-               inode = btrfs_iget(dir->i_sb, location.objectid, sub_root);
+               inode = btrfs_iget(location.objectid, sub_root);
                btrfs_put_root(sub_root);
 
                if (IS_ERR(inode))
                 * Subvolumes inherit properties from their parent subvolume,
                 * not the directory they were created in.
                 */
-               parent = btrfs_iget(fs_info->sb, BTRFS_FIRST_FREE_OBJECTID,
-                                   BTRFS_I(dir)->root);
+               parent = btrfs_iget(BTRFS_FIRST_FREE_OBJECTID, BTRFS_I(dir)->root);
                if (IS_ERR(parent)) {
                        ret = PTR_ERR(parent);
                } else {
 
                                struct btrfs_ioctl_ino_lookup_user_args *args)
 {
        struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
-       struct super_block *sb = inode->i_sb;
        u64 upper_limit = btrfs_ino(BTRFS_I(inode));
        u64 treeid = btrfs_root_id(BTRFS_I(inode)->root);
        u64 dirid = args->dirid;
                         * btree and lock the same leaf.
                         */
                        btrfs_release_path(path);
-                       temp_inode = btrfs_iget(sb, key2.objectid, root);
+                       temp_inode = btrfs_iget(key2.objectid, root);
                        if (IS_ERR(temp_inode)) {
                                ret = PTR_ERR(temp_inode);
                                goto out_put;
 
        if (inode)
                goto truncate;
 
-       inode = btrfs_iget(fs_info->sb, ino, root);
+       inode = btrfs_iget(ino, root);
        if (IS_ERR(inode))
                return -ENOENT;
 
        if (ret)
                goto out;
 
-       inode = btrfs_iget(fs_info->sb, objectid, root);
+       inode = btrfs_iget(objectid, root);
        if (IS_ERR(inode)) {
                delete_orphan_inode(trans, root, objectid);
                ret = PTR_ERR(inode);
 
 static int process_verity(struct send_ctx *sctx)
 {
        int ret = 0;
-       struct btrfs_fs_info *fs_info = sctx->send_root->fs_info;
        struct inode *inode;
        struct fs_path *p;
 
-       inode = btrfs_iget(fs_info->sb, sctx->cur_ino, sctx->send_root);
+       inode = btrfs_iget(sctx->cur_ino, sctx->send_root);
        if (IS_ERR(inode))
                return PTR_ERR(inode);
 
        size_t inline_size;
        int ret;
 
-       inode = btrfs_iget(fs_info->sb, sctx->cur_ino, root);
+       inode = btrfs_iget(sctx->cur_ino, root);
        if (IS_ERR(inode))
                return PTR_ERR(inode);
 
        u32 crc;
        int ret;
 
-       inode = btrfs_iget(fs_info->sb, sctx->cur_ino, root);
+       inode = btrfs_iget(sctx->cur_ino, root);
        if (IS_ERR(inode))
                return PTR_ERR(inode);
 
        if (sctx->cur_inode == NULL) {
                struct btrfs_root *root = sctx->send_root;
 
-               sctx->cur_inode = btrfs_iget(root->fs_info->sb, sctx->cur_ino, root);
+               sctx->cur_inode = btrfs_iget(sctx->cur_ino, root);
                if (IS_ERR(sctx->cur_inode)) {
                        int err = PTR_ERR(sctx->cur_inode);
 
 
                return err;
        }
 
-       inode = btrfs_iget(sb, BTRFS_FIRST_FREE_OBJECTID, fs_info->fs_root);
+       inode = btrfs_iget(BTRFS_FIRST_FREE_OBJECTID, fs_info->fs_root);
        if (IS_ERR(inode)) {
                err = PTR_ERR(inode);
                btrfs_handle_fs_error(fs_info, err, NULL);
 
         * attempt a transaction commit, resulting in a deadlock.
         */
        nofs_flag = memalloc_nofs_save();
-       inode = btrfs_iget(root->fs_info->sb, objectid, root);
+       inode = btrfs_iget(objectid, root);
        memalloc_nofs_restore(nofs_flag);
 
        return inode;