summaryrefslogtreecommitdiffstats
path: root/drivers/nvme/target
diff options
context:
space:
mode:
authorAlexander Solganik <sashas@lightbitslabs.com>2016-09-21 14:12:38 -0700
committerSagi Grimberg <sagi@grimberg.me>2016-09-23 15:37:38 -0700
commit2e5d0baa04845dc3a3d7dfa33d7663de270bb146 (patch)
tree62be77922deaf9006113615ab7bb162cad3ec4e5 /drivers/nvme/target
parent9b349b080ca9777f6dab3da06d7fa4577f7d4c29 (diff)
downloadlinux-2e5d0baa04845dc3a3d7dfa33d7663de270bb146.tar.bz2
nvmet: Make dsm number of ranges zero based
This caused the nvmet request data length to be incorrect. Signed-off-by: Alexander Solganik <sashas@lightbitslabs.com> Signed-off-by: Sagi Grimberg <sagi@grimberg.me> Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/nvme/target')
-rw-r--r--drivers/nvme/target/io-cmd.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/nvme/target/io-cmd.c b/drivers/nvme/target/io-cmd.c
index 4132b6b98182..4a96c2049b7b 100644
--- a/drivers/nvme/target/io-cmd.c
+++ b/drivers/nvme/target/io-cmd.c
@@ -206,7 +206,7 @@ int nvmet_parse_io_cmd(struct nvmet_req *req)
return 0;
case nvme_cmd_dsm:
req->execute = nvmet_execute_dsm;
- req->data_len = le32_to_cpu(cmd->dsm.nr) *
+ req->data_len = le32_to_cpu(cmd->dsm.nr + 1) *
sizeof(struct nvme_dsm_range);
return 0;
default: