[PATCH] nvme: Namepace identification descriptor list is optional

Rajashekar, Revanth revanth.rajashekar at intel.com
Sun Jul 12 13:03:46 EDT 2020


On 7/12/2020 3:31 AM, Ingo Brunberg wrote:
> "Rajashekar, Revanth" <revanth.rajashekar at intel.com> writes:
>
>> Hi,
>>
>> On 7/10/2020 2:22 AM, Ingo Brunberg wrote:
>>
>>  With commit ea43d97, appearing now in kernel 5.7.8, you made my
>>  cheap
>> SSD disfunctional again. For reference, see bug 205679. Maybe you
>> remember the discussion.
>>
>> Shouldn't the logic used in commit ea43d97, be applied to the line 'if (ret == -ENOMEM || (ret > 0 &&
>> !(ret & NVME_SC_DNR)))' in function '_nvme_revalidate_disk' ?
> I was wondering the same. But that does not make my drive
> work. Something about that logic is not quite right. If the condition is
> met in nvme_identify_ns_descs, 0 is returned. So there is no point in
> repeating the same test in nvme_revalidate_disk as that code path is not
> reached anyway.

I agree with that... My concern is in case if the status had the DNR bit cleared.

In  that case this line of the code is reached and the status is silently suppressed to 0 because of the condition !(ret & NVME_SC_DNR)

The intention of the commit ea43d97 was to navigate back the error in-case if it was a retryable error (DNR cleared to 0).

>
> If I got it right, NVME_SC_DNR is not set for my drive, so this test is
> not the right solution for that problematic controller.
>
> Regards
> Ingo Brunberg



More information about the Linux-nvme mailing list