Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17c39d05 authored by Martin Wilck's avatar Martin Wilck Committed by Sagi Grimberg
Browse files

nvmet: use memcpy_and_pad for identify sn/fr



This changes the earlier patch "nvmet: don't report 0-bytes
in serial number" to use the memcpy_and_pad() helper introduced
in a previous patch.

Signed-off-by: default avatarMartin Wilck <mwilck@suse.com>
Reviewed-by: default avatarSagi Grimberg <sagi@grimbeg.me>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
parent 01f33c33
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -168,15 +168,6 @@ static void nvmet_execute_get_log_page(struct nvmet_req *req)
	nvmet_req_complete(req, status);
}

static void copy_and_pad(char *dst, int dst_len, const char *src, int src_len)
{
	int len = min(src_len, dst_len);

	memcpy(dst, src, len);
	if (dst_len > len)
		memset(dst + len, ' ', dst_len - len);
}

static void nvmet_execute_identify_ctrl(struct nvmet_req *req)
{
	struct nvmet_ctrl *ctrl = req->sq->ctrl;
@@ -196,8 +187,9 @@ static void nvmet_execute_identify_ctrl(struct nvmet_req *req)

	bin2hex(id->sn, &ctrl->subsys->serial,
		min(sizeof(ctrl->subsys->serial), sizeof(id->sn) / 2));
	copy_and_pad(id->mn, sizeof(id->mn), model, sizeof(model) - 1);
	copy_and_pad(id->fr, sizeof(id->fr), UTS_RELEASE, strlen(UTS_RELEASE));
	memcpy_and_pad(id->mn, sizeof(id->mn), model, sizeof(model) - 1, ' ');
	memcpy_and_pad(id->fr, sizeof(id->fr),
		       UTS_RELEASE, strlen(UTS_RELEASE), ' ');

	id->rab = 6;