void btrfs_scrub_pause(struct btrfs_fs_info *fs_info);
 void btrfs_scrub_continue(struct btrfs_fs_info *fs_info);
 int btrfs_scrub_cancel(struct btrfs_fs_info *info);
-int btrfs_scrub_cancel_dev(struct btrfs_fs_info *info,
-                          struct btrfs_device *dev);
+int btrfs_scrub_cancel_dev(struct btrfs_device *dev);
 int btrfs_scrub_progress(struct btrfs_fs_info *fs_info, u64 devid,
                         struct btrfs_scrub_progress *progress);
 static inline void btrfs_init_full_stripe_locks_tree(
 
        return 0;
 }
 
-int btrfs_scrub_cancel_dev(struct btrfs_fs_info *fs_info,
-                          struct btrfs_device *dev)
+int btrfs_scrub_cancel_dev(struct btrfs_device *dev)
 {
+       struct btrfs_fs_info *fs_info = dev->fs_info;
        struct scrub_ctx *sctx;
 
        mutex_lock(&fs_info->scrub_lock);
 
                goto error_undo;
 
        clear_bit(BTRFS_DEV_STATE_IN_FS_METADATA, &device->dev_state);
-       btrfs_scrub_cancel_dev(fs_info, device);
+       btrfs_scrub_cancel_dev(device);
 
        /*
         * the device list mutex makes sure that we don't change