Re: [bug report][regression] blktests nvme/029 failed on latest linux-block/for-next

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 64a51080eaba (HEAD) nvmet: implement id ns for nvm command set

I am not 100% sure this implementation follows the NVMe Base
specification correctly.

The specification says:
----
5.17.2.5 I/O Command Set specific Identify Namespace data structure (CNS 05h)
An I/O Command Set specific Identify Namespace data structure (refer
to the applicable I/O Command Set
specification) is returned to the host for the specified namespace if
the value in the Namespace Identifier
(NSID) field is an active NSID. If the value in the NSID field
specifies an inactive NSID, then the controller
returns a zero filled data structure.
---

Now look at the nvme_execute_identify_ns_nvm() implementation:

static void nvme_execute_identify_ns_nvm(struct nvmet_req *req)
{
        u16 status;

        status = nvmet_req_find_ns(req);
        if (status)
                goto out;

        status = nvmet_copy_to_sgl(req, 0, ZERO_PAGE(0),
                                   NVME_IDENTIFY_DATA_SIZE);
out:
        nvmet_req_complete(req, status);
}

Shouldn't it perform nvmet_copy_to_sgl() in every case, ignoring what
nvmet_req_find_ns() returns?
Compare it to what nvmet_execute_identify_ns_zns() does.

Maurizio





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux