[RFC,v3,0/9] Unifying fabrics drivers

Message ID 20230504091259.29100-1-dwagner@suse.de
Headers
Series Unifying fabrics drivers |

Message

Daniel Wagner May 4, 2023, 9:12 a.m. UTC
  I've rebased on nvme-6.4 and gave it a bit of testing. Up to the last patch it seems to
work fine, at least blktests doesn't trigger any errors.

I've tried to split the pure moving code around part from the part where we need
to change some code. That means the last two patches highlight the problems I
run into with this attempt to implement the setup_transport() callback

changes:
v2:
  - move the complete ctrl state machine to fabrics.c
  - https://lore.kernel.org/linux-nvme/20230306093244.20775-1-dwagner@suse.de/ 
  
v1:
  - https://lore.kernel.org/linux-nvme/20230301082737.10021-1-dwagner@suse.de/


Daniel Wagner (9):
  nvme-rdma: stream line queue functions arguments
  nvme-rdma: factor rdma specific queue init code out
  nvme-tcp: move error and connect work to nvme_ctrl
  nvme-rdma: use error and connect work from nvme_ctrl
  nvme-fabrics: add fabric state machine
  nvme-tcp: replace state machine with generic one
  nvme-rdma: replace state machine with generic one
  nvme: move queue flags to middle layer
  nvme: introduce setup_transport()

 drivers/nvme/host/fabrics.c | 513 +++++++++++++++++++++++++
 drivers/nvme/host/fabrics.h |  24 ++
 drivers/nvme/host/nvme.h    |  19 +
 drivers/nvme/host/rdma.c    | 720 ++++++++++--------------------------
 drivers/nvme/host/tcp.c     | 706 ++++++++---------------------------
 5 files changed, 913 insertions(+), 1069 deletions(-)
  

Comments

Sagi Grimberg May 4, 2023, 10:25 a.m. UTC | #1
> I've rebased on nvme-6.4 and gave it a bit of testing. Up to the last patch it seems to
> work fine, at least blktests doesn't trigger any errors.
> 
> I've tried to split the pure moving code around part from the part where we need
> to change some code. That means the last two patches highlight the problems I
> run into with this attempt to implement the setup_transport() callback

This should be perfectly fine covering loop as well. I think that
eventually it can cover pci as well, but we can promote it there in
time perhaps.