block: cleanup the !zoned case in blk_revalidate_disk_zones

blk_revalidate_disk_zones is never called for non-zoned devices.  Just
return early and warn instead of trying to handle this case.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2019-11-11 11:39:23 +09:00 committed by Jaegeuk Kim
parent 71cf2b3aea
commit c193df7366

View File

@ -520,6 +520,9 @@ int blk_revalidate_disk_zones(struct gendisk *disk)
sector_t sector = 0; sector_t sector = 0;
int ret = 0; int ret = 0;
if (WARN_ON_ONCE(!blk_queue_is_zoned(q)))
return -EIO;
/* /*
* BIO based queues do not use a scheduler so only q->nr_zones * BIO based queues do not use a scheduler so only q->nr_zones
* needs to be updated so that the sysfs exposed value is correct. * needs to be updated so that the sysfs exposed value is correct.
@ -535,10 +538,8 @@ int blk_revalidate_disk_zones(struct gendisk *disk)
*/ */
noio_flag = memalloc_noio_save(); noio_flag = memalloc_noio_save();
if (!blk_queue_is_zoned(q) || !nr_zones) { if (!nr_zones)
nr_zones = 0;
goto update; goto update;
}
/* Allocate bitmaps */ /* Allocate bitmaps */
ret = -ENOMEM; ret = -ENOMEM;