From: Daniel Wagner Date: Thu, 22 Jun 2023 12:13:13 +0000 (+0200) Subject: fabrics: Relax match on well known disc ctrl lookup X-Git-Tag: v1.5~10 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=572189cc562779b4ef4817ebb0f50110a9f4ca66;p=users%2Fsagi%2Flibnvme.git 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 --- 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);