[PATCH 2/6] nvme: read the subsystem NQN from Identify Controller
Johannes Thumshirn
jthumshirn at suse.de
Fri Jun 16 01:42:34 PDT 2017
On 06/15/2017 06:34 PM, Christoph Hellwig wrote:
> + /* Generate a "fake" NQN per Figure 254 in NVMe 1.3 + ECN 001 */
> + snprintf(ctrl->subnqn, NVMF_NQN_SIZE,
> + "nqn.2014.08.org.nvmexpress:%4x%4x",
> + le16_to_cpu(id->vid), le16_to_cpu(id->ssvid));
> + memcpy(ctrl->subnqn + 35, id->sn, sizeof(id->sn));
> + memcpy(ctrl->subnqn + 55, id->mn, sizeof(id->mn));
> + memset(ctrl->subnqn + 95, 0, sizeof(ctrl->subnqn) - 95);
Is there a chance we can do this with a bit less magic values? We can
calculate all of the offsets.
Something like:
off = snprintf(ctrl->subnqn, NVMF_NQN_SIZE,
"nqn.2014.08.org.nvmexpress:%4x%4x",
le16_to_cpu(id->vid), le16_to_cpu(id->ssvid));
memcpy(ctrl->subnqn + off, id->sn, sizeof(id->sn));
off += sizeof(id->sn);
memcpy(ctrl->subnqn + off, id->mn, sizeof(id->mn));
off += sizeof(id->mn);
memset(ctrl->subnqn + off, 0, sizeof(ctrl->subnqn) - off);
--
Johannes Thumshirn Storage
jthumshirn at suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
More information about the Linux-nvme
mailing list