Spdk/lib/nvmf
Seth Howell 8126509c4f rdma: replace improperly aligned buffers in requests.
It is a very rare thing for a buffer to be split over two memory
regions. In fact, it is only possible in dpdk versions where
--match-allocations is not passed as a startup parameter to dpdk but
dynamic memory allocation is enabled.

By adding a small helper function, we avoid failing an I/O because it
was assigned one of these improperly aligned buffers. Also, we try to
remove the buffer from circulation so that it doesn't get picked up
again by another request.

Also, add a unit test to catch this case.

Change-Id: Ia09865c2f77160a960571665b29c4533b11758ae
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/467446
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
2019-09-17 19:43:01 +00:00
..
ctrlr_bdev.c nvmf: Add BDEV IO pending statistics 2019-07-12 12:46:29 +00:00
ctrlr_discovery.c nvmf: don't keep a global discovery log page. 2019-09-03 00:30:59 +00:00
ctrlr.c nvmf: Delay sending AER until subsystem resumes 2019-08-14 21:24:27 +00:00
fc_ls.c nvmf/fc: Move pending_data_buf_queue from fc_conn to fc_poll_group 2019-09-09 00:42:22 +00:00
fc.c nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
Makefile lib/nvmf: extract RPCs from the subsystem directory 2019-08-21 17:20:28 +00:00
nvmf_fc.h nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
nvmf_internal.h nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
nvmf_rpc.c rpc/nvmf: add tgt_name options to relevant RPCs. 2019-08-21 17:20:28 +00:00
nvmf.c nvmf: don't keep a global discovery log page. 2019-09-03 00:30:59 +00:00
rdma.c rdma: replace improperly aligned buffers in requests. 2019-09-17 19:43:01 +00:00
subsystem.c nvmf: spdk_nvmf_subsystem_remove_ns is no longer asynchronous 2019-07-11 11:19:53 +00:00
tcp.c SPDK: changing TREQ value from 'not specified' to 'not required'. 2019-09-10 17:51:26 +00:00
transport.c nvmf: Move pending_data_buf_queue to common struct spdk_nvmf_transport_poll_group 2019-09-09 00:42:22 +00:00
transport.h NVMe-oF Target: Add FC transport. 2019-07-26 22:17:17 +00:00