Re: [PATCH v4 2/8] nvme: cleanup zone information initialization

Christoph Hellwig
2021-01-28T09:35:36Z

On Thu, Jan 28, 2021 at 09:27:41AM +0000, Damien Le Moal wrote:
>
> I tried that first, but it did not work. I end up with
> blk_revalidate_disk_zones() undefined error with !CONFIG_BLK_DEV_ZONED.
> This is because blk_queue_is_zoned() is *not* stubbed for !CONFIG_BLK_DEV_ZONED.
> It will simply always return 0/none in that case. We would need to have:

Hmm. blk_queue_is_zoned is calls blk_queue_zoned_model, which
always returns BLK_ZONED_NONE for !CONFIG_BLK_DEV_ZONED, and I thought we
rely on that elsewhere in nvme. That is a fairly recent change from me,
though.

>
> if (IS_ENABLED(CONFIG_BLK_DEV_ZONED) && blk_queue_is_zoned()) {
> ret = blk_revalidate_disk_zones(ns->disk, NULL);
> ...
>
> Or stub blk_queue_is_zoned()...

If the above really doesn't work we should properly stub it out.

Anyway, I think we can go with your current patch:

Reviewed-by: Christoph Hellwig <hch@lst.de>

and refine all the zoned stubs later. I have a few more ideas for
improvements there anyway.