Merge tag 'vfs-6.9.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[linux-2.6-microblaze.git] / fs / erofs / super.c
index 5f60f16..9b4b66d 100644 (file)
@@ -177,7 +177,7 @@ static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
        struct erofs_sb_info *sbi = EROFS_SB(sb);
        struct erofs_fscache *fscache;
        struct erofs_deviceslot *dis;
-       struct bdev_handle *bdev_handle;
+       struct file *bdev_file;
        void *ptr;
 
        ptr = erofs_read_metabuf(buf, sb, erofs_blknr(sb, *pos), EROFS_KMAP);
@@ -201,12 +201,12 @@ static int erofs_init_device(struct erofs_buf *buf, struct super_block *sb,
                        return PTR_ERR(fscache);
                dif->fscache = fscache;
        } else if (!sbi->devs->flatdev) {
-               bdev_handle = bdev_open_by_path(dif->path, BLK_OPEN_READ,
+               bdev_file = bdev_file_open_by_path(dif->path, BLK_OPEN_READ,
                                                sb->s_type, NULL);
-               if (IS_ERR(bdev_handle))
-                       return PTR_ERR(bdev_handle);
-               dif->bdev_handle = bdev_handle;
-               dif->dax_dev = fs_dax_get_by_bdev(bdev_handle->bdev,
+               if (IS_ERR(bdev_file))
+                       return PTR_ERR(bdev_file);
+               dif->bdev_file = bdev_file;
+               dif->dax_dev = fs_dax_get_by_bdev(file_bdev(bdev_file),
                                &dif->dax_part_off, NULL, NULL);
        }
 
@@ -754,8 +754,8 @@ static int erofs_release_device_info(int id, void *ptr, void *data)
        struct erofs_device_info *dif = ptr;
 
        fs_put_dax(dif->dax_dev, NULL);
-       if (dif->bdev_handle)
-               bdev_release(dif->bdev_handle);
+       if (dif->bdev_file)
+               fput(dif->bdev_file);
        erofs_fscache_unregister_cookie(dif->fscache);
        dif->fscache = NULL;
        kfree(dif->path);