Merge tag 'pull-bd_inode-1' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[linux-block.git] / block / genhd.c
index 7f39fbe6075357d08d157ae0887f5b68de1d9690..0519097afa3533646fb6930772f385b35c717f93 100644 (file)
@@ -653,7 +653,7 @@ void del_gendisk(struct gendisk *disk)
         */
        mutex_lock(&disk->open_mutex);
        xa_for_each(&disk->part_tbl, idx, part)
-               remove_inode_hash(part->bd_inode);
+               bdev_unhash(part);
        mutex_unlock(&disk->open_mutex);
 
        /*
@@ -742,7 +742,7 @@ void invalidate_disk(struct gendisk *disk)
        struct block_device *bdev = disk->part0;
 
        invalidate_bdev(bdev);
-       bdev->bd_inode->i_mapping->wb_err = 0;
+       bdev->bd_mapping->wb_err = 0;
        set_capacity(disk, 0);
 }
 EXPORT_SYMBOL(invalidate_disk);
@@ -1191,7 +1191,7 @@ static void disk_release(struct device *dev)
        if (test_bit(GD_ADDED, &disk->state) && disk->fops->free_disk)
                disk->fops->free_disk(disk);
 
-       iput(disk->part0->bd_inode);    /* frees the disk */
+       bdev_drop(disk->part0); /* frees the disk */
 }
 
 static int block_uevent(const struct device *dev, struct kobj_uevent_env *env)
@@ -1379,7 +1379,7 @@ out_erase_part0:
 out_destroy_part_tbl:
        xa_destroy(&disk->part_tbl);
        disk->part0->bd_disk = NULL;
-       iput(disk->part0->bd_inode);
+       bdev_drop(disk->part0);
 out_free_bdi:
        bdi_put(disk->bdi);
 out_free_bioset: