Unifying fabrics drivers
From: | Daniel Wagner <dwagner-AT-suse.de> | |
To: | linux-nvme-AT-lists.infradead.org | |
Subject: | [RFC v3 0/9] Unifying fabrics drivers | |
Date: | Thu, 04 May 2023 11:12:50 +0200 | |
Message-ID: | <20230504091259.29100-1-dwagner@suse.de> | |
Cc: | linux-kernel-AT-vger.kernel.org, Chaitanya Kulkarni <kch-AT-nvidia.com>, Sagi Grimberg <sagi-AT-grimberg.me>, Hannes Reinecke <hare-AT-suse.de>, James Smart <jsmart2021-AT-gmail.com>, Daniel Wagner <dwagner-AT-suse.de> | |
Archive-link: | Article |
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... v1: - https://lore.kernel.org/linux-nvme/20230301082737.10021-1... 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(-) -- 2.40.0