block: call blk_integrity_add earlier in device_add_disk
authorChristoph Hellwig <hch@lst.de>
Wed, 18 Aug 2021 14:45:36 +0000 (16:45 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 23 Aug 2021 18:55:45 +0000 (12:55 -0600)
Doing all the sysfs file creation before adding the bdev and thus
allowing it to be opened will simplify the about to be added error
handling.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Link: https://lore.kernel.org/r/20210818144542.19305-6-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/genhd.c

index f05e58f214d29652c4731819f43ee0a1998244ab..75d900e4c82fcb7c96ff5a57d7ac2edba94ad79f 100644 (file)
@@ -492,6 +492,8 @@ void device_add_disk(struct device *parent, struct gendisk *disk,
         */
        pm_runtime_set_memalloc_noio(ddev, true);
 
+       blk_integrity_add(disk);
+
        disk->part0->bd_holder_dir =
                kobject_create_and_add("holders", &ddev->kobj);
        disk->slave_dir = kobject_create_and_add("slaves", &ddev->kobj);
@@ -538,7 +540,6 @@ void device_add_disk(struct device *parent, struct gendisk *disk,
        blk_register_queue(disk);
 
        disk_add_events(disk);
-       blk_integrity_add(disk);
 }
 EXPORT_SYMBOL(device_add_disk);