* [PATCH 1/4] nvme: add missing byte swap in nvme_setup_discard
2017-03-31 15:00 trivial nvme fixes for 4.11 Christoph Hellwig
@ 2017-03-31 15:00 ` Christoph Hellwig
2017-03-31 15:00 ` [PATCH 2/4] nvmet: add missing byte swap in nvmet_get_smart_log Christoph Hellwig
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Christoph Hellwig @ 2017-03-31 15:00 UTC (permalink / raw)
Fixes: b35ba01e ("nvme: support ranged discard requests")
Signed-off-by: Christoph Hellwig <hch at lst.de>
---
drivers/nvme/host/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 9b3b57fef446..9583a5f58a1d 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -270,7 +270,7 @@ static inline int nvme_setup_discard(struct nvme_ns *ns, struct request *req,
memset(cmnd, 0, sizeof(*cmnd));
cmnd->dsm.opcode = nvme_cmd_dsm;
cmnd->dsm.nsid = cpu_to_le32(ns->ns_id);
- cmnd->dsm.nr = segments - 1;
+ cmnd->dsm.nr = cpu_to_le32(segments - 1);
cmnd->dsm.attributes = cpu_to_le32(NVME_DSMGMT_AD);
req->special_vec.bv_page = virt_to_page(range);
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/4] nvmet: add missing byte swap in nvmet_get_smart_log
2017-03-31 15:00 trivial nvme fixes for 4.11 Christoph Hellwig
2017-03-31 15:00 ` [PATCH 1/4] nvme: add missing byte swap in nvme_setup_discard Christoph Hellwig
@ 2017-03-31 15:00 ` Christoph Hellwig
2017-03-31 15:00 ` [PATCH 3/4] nvmet: fix byte swap in nvmet_execute_write_zeroes Christoph Hellwig
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Christoph Hellwig @ 2017-03-31 15:00 UTC (permalink / raw)
In this case entirely harmless as it's all-ones, but still nice to
shut up sparse.
Signed-off-by: Christoph Hellwig <hch at lst.de>
---
drivers/nvme/target/admin-cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c
index a7bcff45f437..76450b0c55f1 100644
--- a/drivers/nvme/target/admin-cmd.c
+++ b/drivers/nvme/target/admin-cmd.c
@@ -100,7 +100,7 @@ static u16 nvmet_get_smart_log(struct nvmet_req *req,
u16 status;
WARN_ON(req == NULL || slog == NULL);
- if (req->cmd->get_log_page.nsid == 0xFFFFFFFF)
+ if (req->cmd->get_log_page.nsid == cpu_to_le32(0xFFFFFFFF))
status = nvmet_get_smart_log_all(req, slog);
else
status = nvmet_get_smart_log_nsid(req, slog);
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/4] nvmet: fix byte swap in nvmet_execute_write_zeroes
2017-03-31 15:00 trivial nvme fixes for 4.11 Christoph Hellwig
2017-03-31 15:00 ` [PATCH 1/4] nvme: add missing byte swap in nvme_setup_discard Christoph Hellwig
2017-03-31 15:00 ` [PATCH 2/4] nvmet: add missing byte swap in nvmet_get_smart_log Christoph Hellwig
@ 2017-03-31 15:00 ` Christoph Hellwig
2017-03-31 15:00 ` [PATCH 4/4] nvmet: fix byte swap in nvmet_parse_io_cmd Christoph Hellwig
2017-04-02 8:14 ` trivial nvme fixes for 4.11 Max Gurtovoy
4 siblings, 0 replies; 6+ messages in thread
From: Christoph Hellwig @ 2017-03-31 15:00 UTC (permalink / raw)
The length field in the Write Zeroes command is a 16-bit field.
Signed-off-by: Christoph Hellwig <hch at lst.de>
---
drivers/nvme/target/io-cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/target/io-cmd.c b/drivers/nvme/target/io-cmd.c
index 4195115c7e54..e37acd77b5fe 100644
--- a/drivers/nvme/target/io-cmd.c
+++ b/drivers/nvme/target/io-cmd.c
@@ -180,7 +180,7 @@ static void nvmet_execute_write_zeroes(struct nvmet_req *req)
sector = le64_to_cpu(write_zeroes->slba) <<
(req->ns->blksize_shift - 9);
- nr_sector = (((sector_t)le32_to_cpu(write_zeroes->length)) <<
+ nr_sector = (((sector_t)le16_to_cpu(write_zeroes->length)) <<
(req->ns->blksize_shift - 9)) + 1;
if (__blkdev_issue_zeroout(req->ns->bdev, sector, nr_sector,
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/4] nvmet: fix byte swap in nvmet_parse_io_cmd
2017-03-31 15:00 trivial nvme fixes for 4.11 Christoph Hellwig
` (2 preceding siblings ...)
2017-03-31 15:00 ` [PATCH 3/4] nvmet: fix byte swap in nvmet_execute_write_zeroes Christoph Hellwig
@ 2017-03-31 15:00 ` Christoph Hellwig
2017-04-02 8:14 ` trivial nvme fixes for 4.11 Max Gurtovoy
4 siblings, 0 replies; 6+ messages in thread
From: Christoph Hellwig @ 2017-03-31 15:00 UTC (permalink / raw)
We need to do arithmetics after byte swapping, not before.
Signed-off-by: Christoph Hellwig <hch at lst.de>
---
drivers/nvme/target/io-cmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nvme/target/io-cmd.c b/drivers/nvme/target/io-cmd.c
index e37acd77b5fe..6b0baa9caab9 100644
--- a/drivers/nvme/target/io-cmd.c
+++ b/drivers/nvme/target/io-cmd.c
@@ -230,7 +230,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 + 1) *
+ req->data_len = (le32_to_cpu(cmd->dsm.nr) + 1) *
sizeof(struct nvme_dsm_range);
return 0;
case nvme_cmd_write_zeroes:
--
2.11.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* trivial nvme fixes for 4.11
2017-03-31 15:00 trivial nvme fixes for 4.11 Christoph Hellwig
` (3 preceding siblings ...)
2017-03-31 15:00 ` [PATCH 4/4] nvmet: fix byte swap in nvmet_parse_io_cmd Christoph Hellwig
@ 2017-04-02 8:14 ` Max Gurtovoy
4 siblings, 0 replies; 6+ messages in thread
From: Max Gurtovoy @ 2017-04-02 8:14 UTC (permalink / raw)
On 3/31/2017 6:00 PM, Christoph Hellwig wrote:
> A few sparse fixes for endianes errors that slipped in in the last
> releases.
>
>
Series looks good,
Reviewed-by: Max Gurtovoy <maxg at mellanox.com>
^ permalink raw reply [flat|nested] 6+ messages in thread