On 11/8/19 2:56 AM, Damien Le Moal wrote: > From: Christoph Hellwig <hch@xxxxxx> > > 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@xxxxxx> > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx> > --- > block/blk-zoned.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/block/blk-zoned.c b/block/blk-zoned.c > index dae787f67019..523a28d7a15c 100644 > --- a/block/blk-zoned.c > +++ b/block/blk-zoned.c > @@ -520,6 +520,9 @@ int blk_revalidate_disk_zones(struct gendisk *disk) > sector_t sector = 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 > * 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(); > > - if (!blk_queue_is_zoned(q) || !nr_zones) { > - nr_zones = 0; > + if (!nr_zones) > goto update; > - } > > /* Allocate bitmaps */ > ret = -ENOMEM; > Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke Teamlead Storage & Networking hare@xxxxxxx +49 911 74053 688 SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg HRB 247165 (AG München), GF: Felix Imendörffer