Re: [PATCH 02/26] sd: move zone limits setup out of sd_read_block_characteristics
- To: Christoph Hellwig <hch@lst.de>
- Cc: Jens Axboe <axboe@kernel.dk>, Geert Uytterhoeven <geert@linux-m68k.org>, Richard Weinberger <richard@nod.at>, Philipp Reisner <philipp.reisner@linbit.com>, Lars Ellenberg <lars.ellenberg@linbit.com>, Christoph B??hmwalder <christoph.boehmwalder@linbit.com>, Josef Bacik <josef@toxicpanda.com>, Ming Lei <ming.lei@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Jason Wang <jasowang@redhat.com>, Roger Pau Monn?? <roger.pau@citrix.com>, Alasdair Kergon <agk@redhat.com>, Mike Snitzer <snitzer@kernel.org>, Mikulas Patocka <mpatocka@redhat.com>, Song Liu <song@kernel.org>, Yu Kuai <yukuai3@huawei.com>, Vineeth Vijayan <vneethv@linux.ibm.com>, "Martin K. Petersen" <martin.petersen@oracle.com>, linux-m68k@lists.linux-m68k.org, linux-um@lists.infradead.org, drbd-dev@lists.linbit.com, nbd@other.debian.org, linuxppc-dev@lists.ozlabs.org, ceph-devel@vger.kernel.org, virtualization@lists.linux.dev, xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org, dm-devel@lists.linux.dev, linux-raid@vger.kernel.org, linux-mmc@vger.kernel.org, linux-mtd@lists.infradead.org, nvdimm@lists.linux.dev, linux-nvme@lists.infradead.org, linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org, linux-block@vger.kernel.org
- Subject: Re: [PATCH 02/26] sd: move zone limits setup out of sd_read_block_characteristics
- From: Damien Le Moal <dlemoal@kernel.org>
- Date: Tue, 11 Jun 2024 16:20:54 +0900
- Message-id: <[🔎] 6bf90562-0ff9-46b6-8a58-7381332e3beb@kernel.org>
- In-reply-to: <[🔎] 20240611055239.GA3141@lst.de>
- References: <[🔎] 20240611051929.513387-1-hch@lst.de> <[🔎] 20240611051929.513387-3-hch@lst.de> <[🔎] 40ca8052-6ac1-4c1b-8c39-b0a7948839f8@kernel.org> <[🔎] 20240611055239.GA3141@lst.de>
On 6/11/24 2:52 PM, Christoph Hellwig wrote:
> On Tue, Jun 11, 2024 at 02:51:24PM +0900, Damien Le Moal wrote:
>>> - if (lim->zoned)
>>> + if (sdkp->device->type == TYPE_ZBC)
>>
>> Nit: use sd_is_zoned() here ?
>
> Yes.
>
>>> - if (!sd_is_zoned(sdkp))
>>> + if (!sd_is_zoned(sdkp)) {
>>> + lim->zoned = false;
>>
>> Maybe we should clear the other zone related limits here ? If the drive is
>> reformatted/converted from SMR to CMR (FORMAT WITH PRESET), the other zone
>> limits may be set already, no ?
>
> blk_validate_zoned_limits already takes care of that.
I do not think it does:
static int blk_validate_zoned_limits(struct queue_limits *lim)
{
if (!lim->zoned) {
if (WARN_ON_ONCE(lim->max_open_zones) ||
WARN_ON_ONCE(lim->max_active_zones) ||
WARN_ON_ONCE(lim->zone_write_granularity) ||
WARN_ON_ONCE(lim->max_zone_append_sectors))
return -EINVAL;
return 0;
}
...
So setting lim->zoned to false without clearing the other limits potentially
will trigger warnings...
--
Damien Le Moal
Western Digital Research
Reply to: