Merge three hidden gendisk checks into one.

Signed-off-by: Christoph Hellwig <h...@lst.de>
---
 block/genhd.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/block/genhd.c b/block/genhd.c
index cb9a51be35b053..df6485223a2c3d 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -973,22 +973,22 @@ void del_gendisk(struct gendisk *disk)
        disk->flags &= ~GENHD_FL_UP;
        up_write(&disk->lookup_sem);
 
-       if (!(disk->flags & GENHD_FL_HIDDEN))
+       WARN_ON(!disk->queue);
+
+       if (!(disk->flags & GENHD_FL_HIDDEN)) {
                sysfs_remove_link(&disk_to_dev(disk)->kobj, "bdi");
-       if (disk->queue) {
+
                /*
                 * Unregister bdi before releasing device numbers (as they can
                 * get reused and we'd get clashes in sysfs).
                 */
-               if (!(disk->flags & GENHD_FL_HIDDEN))
-                       bdi_unregister(disk->queue->backing_dev_info);
+               bdi_unregister(disk->queue->backing_dev_info);
                blk_unregister_queue(disk);
+               blk_unregister_region(disk_devt(disk), disk->minors);
        } else {
-               WARN_ON(1);
+               blk_unregister_queue(disk);
        }
 
-       if (!(disk->flags & GENHD_FL_HIDDEN))
-               blk_unregister_region(disk_devt(disk), disk->minors);
        /*
         * Remove gendisk pointer from idr so that it cannot be looked up
         * while RCU period before freeing gendisk is running to prevent
-- 
2.28.0

Reply via email to