Re: [PATCH v4 7/8] block: introduce blk_queue_clear_zone_settings()

Damien Le Moal
2021-01-28T09:36:26Z

On 2021/01/28 18:21, Christoph Hellwig wrote:
> On Thu, Jan 28, 2021 at 01:47:32PM +0900, Damien Le Moal wrote:
>> Introduce the internal function blk_queue_clear_zone_settings() to
>> cleanup all limits and resources related to zoned block devices. This
>> new function is called from blk_queue_set_zoned() when a disk zoned
>> model is set to BLK_ZONED_NONE. This particular case can happens when a
>> partition is created on a host-aware scsi disk.
>
> Shouldn't we just do all this work when blk_queue_set_zoned is called
> with a BLK_ZONED_NONE argument? That seems like the more obvious API
> to me.

That is what I did. blk_queue_set_zoned() calls blk_queue_clear_zone_settings()
for BLK_ZONED_NONE case. I simply did not open code the cleanups in that
functions because it is simpler to stub only blk_queue_clear_zone_settings()
rather than having conditionals in blk_queue_set_zoned(). That also puts the
cleanup function together with the code that allocates most resources in
blk-zoned.c. Easier to not overlook something.

--
Damien Le Moal
Western Digital Research