From 572189cc562779b4ef4817ebb0f50110a9f4ca66 Mon Sep 17 00:00:00 2001 From: Daniel Wagner Date: Thu, 22 Jun 2023 14:13:13 +0200 Subject: [PATCH] fabrics: Relax match on well known disc ctrl lookup In case nvmf_add_ctrl() is called to add a well known discovery controller we also need to verify if we should ignore it (see --context command line argument of nvme-cli). Though we have to be careful not to overmatch on the lookup. That means the host_traddr and host_iface might be different for the discovery controller than the normal controllers. For example this can happen when the discovery controller is reached via different interface than the data controllers. Thus only consider the transport type, target address and trsvcid only when looking up well known discovery controllers. Signed-off-by: Daniel Wagner --- src/nvme/fabrics.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/nvme/fabrics.c b/src/nvme/fabrics.c index ab6706bf..f0a06e8a 100644 --- a/src/nvme/fabrics.c +++ b/src/nvme/fabrics.c @@ -869,8 +869,8 @@ int nvmf_add_ctrl(nvme_host_t h, nvme_ctrl_t c, nvme_for_each_subsystem(h, s) { fc = __nvme_lookup_ctrl(s, nvme_ctrl_get_transport(c), nvme_ctrl_get_traddr(c), - nvme_ctrl_get_host_traddr(c), - nvme_ctrl_get_host_iface(c), + NULL, + NULL, nvme_ctrl_get_trsvcid(c), NULL); -- 2.49.0