lkml.org 
[lkml]   [2017]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v4 5/8] nvme: get list of namespace descriptors
    > +			}
    > + len = NVME_NIDT_UUID_LEN;
    > + memcpy(ns->uuid, data + pos + sizeof(*cur), len);
    > + break;
    > + default:
    > + dev_warn(ns->ctrl->dev,
    > + "Invalid Namespace Identification Descriptor Type: %d\n",
    > + cur->nidt);
    > + return;

    Please drop the warning and return, the spec says hosts should ignore
    unknown types. This is important to future proof for new types that
    could be added.

    > +static int nvme_identify_ns_descs(struct nvme_ns *ns, unsigned nsid)
    > +{
    > + struct nvme_command c = { };
    > + int status;
    > + void *data;
    > +
    > + c.identify.opcode = nvme_admin_identify;
    > + c.identify.nsid = cpu_to_le32(nsid);
    > + c.identify.cns = NVME_ID_CNS_NS_DESC_LIST;
    > +
    > + data = kzalloc(NVME_IDENTIFY_DATA_SIZE, GFP_KERNEL);
    > + if (!data)
    > + return -ENOMEM;
    > +
    > + status = nvme_submit_sync_cmd(ns->ctrl->admin_q, &c, data,
    > + NVME_IDENTIFY_DATA_SIZE);
    > + if (status)
    > + goto free_data;
    > +
    > + nvme_parse_ns_descs(ns, data);

    Just merge nvme_parse_ns_descs into the caller?

    \
     
     \ /
      Last update: 2017-06-05 07:39    [W:5.402 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site