OSDN Git Service

nvmet: use memcpy_and_pad for identify sn/fr
authorMartin Wilck <mwilck@suse.com>
Mon, 14 Aug 2017 20:12:39 +0000 (22:12 +0200)
committerSagi Grimberg <sagi@grimberg.me>
Mon, 28 Aug 2017 20:00:42 +0000 (23:00 +0300)
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: Martin Wilck <mwilck@suse.com>
Reviewed-by: Sagi Grimberg <sagi@grimbeg.me>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/target/admin-cmd.c

index dffd806..9496c71 100644 (file)
@@ -168,15 +168,6 @@ out:
        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;