[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f0e8de7b-655c-9932-16d4-105decff9a6c@grimberg.me>
Date: Wed, 12 Jul 2023 10:38:40 +0300
From: Sagi Grimberg <sagi@...mberg.me>
To: Keith Busch <kbusch@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Christoph Hellwig <hch@....de>,
Linux regressions mailing list <regressions@...ts.linux.dev>,
Pankaj Raghav <p.raghav@...sung.com>,
Bagas Sanjaya <bagasdotme@...il.com>,
Jens Axboe <axboe@...nel.dk>,
"Clemens S." <cspringsguth@...il.com>,
Martin Belanger <martin.belanger@...l.com>,
Chaitanya Kulkarni <kch@...dia.com>,
John Meneghini <jmeneghi@...hat.com>,
Hannes Reinecke <hare@...e.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux NVMe <linux-nvme@...ts.infradead.org>,
Kanchan Joshi <joshi.k@...sung.com>,
Javier Gonzalez <javier.gonz@...sung.com>,
박진환 <jh.i.park@...sung.com>
Subject: Re: Fwd: Need NVME QUIRK BOGUS for SAMSUNG MZ1WV480HCGL-000MV
(Samsung SM-953 Datacenter SSD)
>> For example, we have this completely unacceptable garbage:
>>
>> ret = nvme_global_check_duplicate_ids(ctrl->subsys, &info->ids);
>> if (ret) {
>> dev_err(ctrl->device,
>> "globally duplicate IDs for nsid %d\n", info->nsid);
>> nvme_print_device_info(ctrl);
>> return ret;
>> }
>>
>> iow, the code even checks for and *notices* that there are duplicate
>> IDs, and what does it do? It then errors out.
>
> This check came from a recent half-baked spec feature called "Dispersed
> Namespaces" that caused breakage and data corruption when used in Linux.
> Rather than attempt to support that mostly vendor specific feature, the
> driver attempted to fence that off as unmaintainable. This check wasn't
> aimed at enforcing "correctness", but it certainly found a lot of that
> as collatoral damage. Let's see if we can find a better way to detect
> the difference with a sane fallback as you suggest.
Perhaps we could fallback to what we do in wwid_show()?
"nvme.%04x-%*phN-%*phN-%08x\n", subsys->vendor_id, serial_len,
subsys->serial, model_len, subsys->model, head->ns_id)
Powered by blists - more mailing lists