Merge tag 'vfs-6.9.super' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs
[linux-2.6-microblaze.git] / fs / xfs / xfs_super.c
index 98401de..00fbd5b 100644 (file)
@@ -361,16 +361,16 @@ STATIC int
 xfs_blkdev_get(
        xfs_mount_t             *mp,
        const char              *name,
-       struct bdev_handle      **handlep)
+       struct file             **bdev_filep)
 {
        int                     error = 0;
 
-       *handlep = bdev_open_by_path(name,
+       *bdev_filep = bdev_file_open_by_path(name,
                BLK_OPEN_READ | BLK_OPEN_WRITE | BLK_OPEN_RESTRICT_WRITES,
                mp->m_super, &fs_holder_ops);
-       if (IS_ERR(*handlep)) {
-               error = PTR_ERR(*handlep);
-               *handlep = NULL;
+       if (IS_ERR(*bdev_filep)) {
+               error = PTR_ERR(*bdev_filep);
+               *bdev_filep = NULL;
                xfs_warn(mp, "Invalid device [%s], error=%d", name, error);
        }
 
@@ -435,26 +435,26 @@ xfs_open_devices(
 {
        struct super_block      *sb = mp->m_super;
        struct block_device     *ddev = sb->s_bdev;
-       struct bdev_handle      *logdev_handle = NULL, *rtdev_handle = NULL;
+       struct file             *logdev_file = NULL, *rtdev_file = NULL;
        int                     error;
 
        /*
         * Open real time and log devices - order is important.
         */
        if (mp->m_logname) {
-               error = xfs_blkdev_get(mp, mp->m_logname, &logdev_handle);
+               error = xfs_blkdev_get(mp, mp->m_logname, &logdev_file);
                if (error)
                        return error;
        }
 
        if (mp->m_rtname) {
-               error = xfs_blkdev_get(mp, mp->m_rtname, &rtdev_handle);
+               error = xfs_blkdev_get(mp, mp->m_rtname, &rtdev_file);
                if (error)
                        goto out_close_logdev;
 
-               if (rtdev_handle->bdev == ddev ||
-                   (logdev_handle &&
-                    rtdev_handle->bdev == logdev_handle->bdev)) {
+               if (file_bdev(rtdev_file) == ddev ||
+                   (logdev_file &&
+                    file_bdev(rtdev_file) == file_bdev(logdev_file))) {
                        xfs_warn(mp,
        "Cannot mount filesystem with identical rtdev and ddev/logdev.");
                        error = -EINVAL;
@@ -466,25 +466,25 @@ xfs_open_devices(
         * Setup xfs_mount buffer target pointers
         */
        error = -ENOMEM;
-       mp->m_ddev_targp = xfs_alloc_buftarg(mp, sb->s_bdev_handle);
+       mp->m_ddev_targp = xfs_alloc_buftarg(mp, sb->s_bdev_file);
        if (!mp->m_ddev_targp)
                goto out_close_rtdev;
 
-       if (rtdev_handle) {
-               mp->m_rtdev_targp = xfs_alloc_buftarg(mp, rtdev_handle);
+       if (rtdev_file) {
+               mp->m_rtdev_targp = xfs_alloc_buftarg(mp, rtdev_file);
                if (!mp->m_rtdev_targp)
                        goto out_free_ddev_targ;
        }
 
-       if (logdev_handle && logdev_handle->bdev != ddev) {
-               mp->m_logdev_targp = xfs_alloc_buftarg(mp, logdev_handle);
+       if (logdev_file && file_bdev(logdev_file) != ddev) {
+               mp->m_logdev_targp = xfs_alloc_buftarg(mp, logdev_file);
                if (!mp->m_logdev_targp)
                        goto out_free_rtdev_targ;
        } else {
                mp->m_logdev_targp = mp->m_ddev_targp;
                /* Handle won't be used, drop it */
-               if (logdev_handle)
-                       bdev_release(logdev_handle);
+               if (logdev_file)
+                       fput(logdev_file);
        }
 
        return 0;
@@ -495,11 +495,11 @@ xfs_open_devices(
  out_free_ddev_targ:
        xfs_free_buftarg(mp->m_ddev_targp);
  out_close_rtdev:
-        if (rtdev_handle)
-               bdev_release(rtdev_handle);
+        if (rtdev_file)
+               fput(rtdev_file);
  out_close_logdev:
-       if (logdev_handle)
-               bdev_release(logdev_handle);
+       if (logdev_file)
+               fput(logdev_file);
        return error;
 }