All of lore.kernel.org
 help / color / mirror / Atom feed
* trivial nvme fixes for 4.11
@ 2017-03-31 15:00 Christoph Hellwig
  2017-03-31 15:00 ` [PATCH 1/4] nvme: add missing byte swap in nvme_setup_discard Christoph Hellwig
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Christoph Hellwig @ 2017-03-31 15:00 UTC (permalink / raw)


A few sparse fixes for endianes errors that slipped in in the last
releases.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [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

end of thread, other threads:[~2017-04-02  8:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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 ` [PATCH 3/4] nvmet: fix byte swap in nvmet_execute_write_zeroes 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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.