[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2f1414ab-9152-17ab-d2c6-96f4f5de7d45@ixsystems.com>
Date: Mon, 11 Sep 2023 15:29:34 -0400
From: Alexander Motin <mav@...ystems.com>
To: Keith Busch <kbusch@...nel.org>, Ameer Hamza <ahamza@...ystems.com>
Cc: linux-nvme@...ts.infradead.org, axboe@...nel.dk, hch@....de,
sagi@...mberg.me, linux-kernel@...r.kernel.org,
edmund.nadolski@...ystems.com
Subject: Re: [PATCH] nvme: prevent id ctrl csi for specs below 2.0
On 11.09.2023 14:40, Keith Busch wrote:
> On Mon, Sep 11, 2023 at 02:26:41AM +0500, Ameer Hamza wrote:
>> The 'id ctrl csi' command was introduced in version 2.0, as specified
>> in Section 5.17.2.6 of the NVME Base Specification 2.0. Executing this
>> command on previous NVMe versions returns an "Invalid Field" error,
>> and the error entry is saved in the log page. Although, Commit
>> c917dd96fe41 ("nvme: skip optional id ctrl csi if it failed") reduced
>> the error occurrences, but the error persisted during the initial
>> module load. This patch ensures the command isn't executed on versions
>> older than 2.0, and it also eliminates the skip implementation because
>> NVME_ID_CNS_CS_CTRL is expected to succeed with version 2.0.
>
> NVMe TP's are allowed to be implemented by versions lower than the
> release that first included it. I recall the first nvme controller I'd
> seen that implemented this identification reported itself as 1.4.
Then there must be a way to detect it. How otherwise it is not a
standard violation to send arbitrary effectively vendor-specific
commands to a drive?
--
Alexander Motin
Powered by blists - more mailing lists