From 2e5d0baa04845dc3a3d7dfa33d7663de270bb146 Mon Sep 17 00:00:00 2001 From: Alexander Solganik Date: Wed, 21 Sep 2016 14:12:38 -0700 Subject: nvmet: Make dsm number of ranges zero based This caused the nvmet request data length to be incorrect. Signed-off-by: Alexander Solganik Signed-off-by: Sagi Grimberg Reviewed-by: Christoph Hellwig diff --git a/drivers/nvme/target/io-cmd.c b/drivers/nvme/target/io-cmd.c index 4132b6b..4a96c20 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: -- cgit v0.10.2