[PATCH 0/7] Remove data_len field from the nvmet_req struct

From: Logan Gunthorpe
Date: Wed Oct 23 2019 - 12:36:07 EST


Hi,

This patchset is a cleanup in preparation for the passthru patchset.
The aim is to remove the data_len field in the nvmet_req struct and
instead just check the length is appropriate inside the execute
handlers. This is more appropriate for passthru which may have
commands with unknown lengths (like Vendor Specific Commands).
It's also in improvement seeing it can often be confusing when
it's best to use the data_len field over the transfer_len field.
The first two patches in this series remove some questionable uses
of the data_len field in nvmt-tcp

Most of this patchset was extracted from a draft patch from
Christoph[1].

The series is based on v5.4-rc4 and a git branch is available here:

https://github.com/sbates130272/linux-p2pmem/branches nvmet_data_len

Logan

[1] https://lore.kernel.org/linux-block/20191010110425.GA28372@xxxxxx/

--

Logan Gunthorpe (7):
nvmet-tcp: Don't check data_len in nvmet_tcp_map_data()
nvmet-tcp: Don't set the request's data_len
nvmet: Introduce common execute function for get_log_page and identify
nvmet: Cleanup discovery execute handlers
nvmet: Introduce nvmet_dsm_len() helper
nvmet: Remove the data_len field from the nvmet_req struct
nvmet: Open code nvmet_req_execute()

drivers/nvme/target/admin-cmd.c | 128 +++++++++++++++++-------------
drivers/nvme/target/core.c | 12 +--
drivers/nvme/target/discovery.c | 62 +++++++--------
drivers/nvme/target/fabrics-cmd.c | 15 +++-
drivers/nvme/target/fc.c | 4 +-
drivers/nvme/target/io-cmd-bdev.c | 19 +++--
drivers/nvme/target/io-cmd-file.c | 20 +++--
drivers/nvme/target/loop.c | 2 +-
drivers/nvme/target/nvmet.h | 10 ++-
drivers/nvme/target/rdma.c | 4 +-
drivers/nvme/target/tcp.c | 14 ++--
11 files changed, 167 insertions(+), 123 deletions(-)

--
2.20.1