[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <fd82adec-1e06-d539-7718-2e08f4999b98@samsung.com>
Date: Wed, 17 Aug 2022 09:28:51 +0200
From: Pankaj Raghav <p.raghav@...sung.com>
To: Keith Busch <kbusch@...nel.org>
CC: <snitzer@...nel.org>, <axboe@...nel.dk>, <hch@....de>,
<agk@...hat.com>, <damien.lemoal@...nsource.wdc.com>,
<linux-block@...r.kernel.org>, <Johannes.Thumshirn@....com>,
<bvanassche@....org>, <matias.bjorling@....com>, <hare@...e.de>,
<gost.dev@...sung.com>, <linux-nvme@...ts.infradead.org>,
<jaegeuk@...nel.org>, <pankydev8@...il.com>,
<linux-kernel@...r.kernel.org>, <dm-devel@...hat.com>,
Luis Chamberlain <mcgrof@...nel.org>
Subject: Re: [PATCH v10 05/13] nvme: zns: Allow ZNS drives that have
non-power_of_2 zone size
Hi Keith,
On 2022-08-16 23:14, Keith Busch wrote:
> On Thu, Aug 11, 2022 at 04:30:35PM +0200, Pankaj Raghav wrote:
>> @@ -101,13 +101,6 @@ int nvme_update_zone_info(struct nvme_ns *ns, unsigned lbaf)
>> }
>>
>> ns->zsze = nvme_lba_to_sect(ns, le64_to_cpu(id->lbafe[lbaf].zsze));
>> - if (!is_power_of_2(ns->zsze)) {
>> - dev_warn(ns->ctrl->device,
>> - "invalid zone size:%llu for namespace:%u\n",
>> - ns->zsze, ns->head->ns_id);
>> - status = -ENODEV;
>> - goto free_data;
>> - }
>
> We used to bail out early if the format wasn't supported, which wouldn't create
> the namespace.
>
> Now you are relying on blk_revalidate_disk_zones() to report an error for
> invalid format, but the handling for an error there is different: the namespace
> still gets created. I'm not sure if that's a problem, but it's different.
That is right but it is not a problem. Once the block layer supports the
non-po2 zone sizes, we don't need to bail out here because it will be
compatible. If unequal zone sizes are found, block layer will report an
error during blk_revalidate_disk_zones() which is the current behavior anyway.
Other checks such as zone operation support are still in
nvme_update_zone_info() resulting in an early bail out if violated.
Powered by blists - more mailing lists