]> asedeno.scripts.mit.edu Git - linux.git/commit
nvmet: Introduce helper functions to allocate and free request SGLs
authorLogan Gunthorpe <logang@deltatee.com>
Thu, 4 Oct 2018 21:27:46 +0000 (15:27 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 17 Oct 2018 17:18:23 +0000 (12:18 -0500)
commit5b2322e48c978fd91d50873491b1c3b0a3b0266b
treefcb31f70487da3f25d6584aba8f4b1f3c2b9893a
parente0596ab2900dfa64c0538e4aef8eec3c6f0f38eb
nvmet: Introduce helper functions to allocate and free request SGLs

Add helpers to allocate and free the SGL in a struct nvmet_req:

  int nvmet_req_alloc_sgl(struct nvmet_req *req)
  void nvmet_req_free_sgl(struct nvmet_req *req)

This will be expanded in a future patch to implement peer-to-peer memory
DMAs and should be common with all target drivers.

The new helpers are used in nvmet-rdma.  Seeing we use req.transfer_len as
the length of the SGL it is set earlier and cleared on any error.  It also
seems to be unnecessary to accumulate the length as the map_sgl functions
should only ever be called once per request.

Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Sagi Grimberg <sagi@grimberg.me>
drivers/nvme/target/core.c
drivers/nvme/target/nvmet.h
drivers/nvme/target/rdma.c