Skip to content

Commit 6b3ba97

Browse files
Christoph Hellwigaxboe
authored andcommitted
block: cleanup del_gendisk a bit
Merge three hidden gendisk checks into one. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent a7cb3d2 commit 6b3ba97

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

block/genhd.c

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,9 @@ void del_gendisk(struct gendisk *disk)
895895

896896
might_sleep();
897897

898+
if (WARN_ON_ONCE(!disk->queue))
899+
return;
900+
898901
blk_integrity_del(disk);
899902
disk_del_events(disk);
900903

@@ -917,20 +920,18 @@ void del_gendisk(struct gendisk *disk)
917920
disk->flags &= ~GENHD_FL_UP;
918921
up_write(&disk->lookup_sem);
919922

920-
if (!(disk->flags & GENHD_FL_HIDDEN))
923+
if (!(disk->flags & GENHD_FL_HIDDEN)) {
921924
sysfs_remove_link(&disk_to_dev(disk)->kobj, "bdi");
922-
if (disk->queue) {
925+
923926
/*
924927
* Unregister bdi before releasing device numbers (as they can
925928
* get reused and we'd get clashes in sysfs).
926929
*/
927-
if (!(disk->flags & GENHD_FL_HIDDEN))
928-
bdi_unregister(disk->queue->backing_dev_info);
929-
blk_unregister_queue(disk);
930-
} else {
931-
WARN_ON(1);
930+
bdi_unregister(disk->queue->backing_dev_info);
932931
}
933932

933+
blk_unregister_queue(disk);
934+
934935
if (!(disk->flags & GENHD_FL_HIDDEN))
935936
blk_unregister_region(disk_devt(disk), disk->minors);
936937
/*

0 commit comments

Comments
 (0)