Merge tag 'bcachefs-2024-03-19' of https://evilpiepirate.org/git/bcachefs
[sfrench/cifs-2.6.git] / fs / bcachefs / super-io.c
index 647cbaf1ab69669a86aaa7bfc2f8a8a652f331d6..ad28e370b6404c915ee8bf8743ed535366fc6a55 100644 (file)
@@ -142,8 +142,8 @@ void bch2_sb_field_delete(struct bch_sb_handle *sb,
 void bch2_free_super(struct bch_sb_handle *sb)
 {
        kfree(sb->bio);
-       if (!IS_ERR_OR_NULL(sb->bdev_handle))
-               bdev_release(sb->bdev_handle);
+       if (!IS_ERR_OR_NULL(sb->s_bdev_file))
+               fput(sb->s_bdev_file);
        kfree(sb->holder);
        kfree(sb->sb_name);
 
@@ -712,23 +712,23 @@ retry:
        if (!opt_get(*opts, nochanges))
                sb->mode |= BLK_OPEN_WRITE;
 
-       sb->bdev_handle = bdev_open_by_path(path, sb->mode, sb->holder, &bch2_sb_handle_bdev_ops);
-       if (IS_ERR(sb->bdev_handle) &&
-           PTR_ERR(sb->bdev_handle) == -EACCES &&
+       sb->s_bdev_file = bdev_file_open_by_path(path, sb->mode, sb->holder, &bch2_sb_handle_bdev_ops);
+       if (IS_ERR(sb->s_bdev_file) &&
+           PTR_ERR(sb->s_bdev_file) == -EACCES &&
            opt_get(*opts, read_only)) {
                sb->mode &= ~BLK_OPEN_WRITE;
 
-               sb->bdev_handle = bdev_open_by_path(path, sb->mode, sb->holder, &bch2_sb_handle_bdev_ops);
-               if (!IS_ERR(sb->bdev_handle))
+               sb->s_bdev_file = bdev_file_open_by_path(path, sb->mode, sb->holder, &bch2_sb_handle_bdev_ops);
+               if (!IS_ERR(sb->s_bdev_file))
                        opt_set(*opts, nochanges, true);
        }
 
-       if (IS_ERR(sb->bdev_handle)) {
-               ret = PTR_ERR(sb->bdev_handle);
+       if (IS_ERR(sb->s_bdev_file)) {
+               ret = PTR_ERR(sb->s_bdev_file);
                prt_printf(&err, "error opening %s: %s", path, bch2_err_str(ret));
                goto err;
        }
-       sb->bdev = sb->bdev_handle->bdev;
+       sb->bdev = file_bdev(sb->s_bdev_file);
 
        ret = bch2_sb_realloc(sb, 0);
        if (ret) {