From: Sagi Grimberg Date: Mon, 27 Jun 2022 08:06:50 +0000 (+0300) Subject: udev: re-read the discovery log page when a discovery controller reconnected X-Git-Tag: v2.1-rc0~16 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=f86faaaa2a1ff319bde188dc8988be1ec054d238;p=users%2Fsagi%2Fnvme-cli.git udev: re-read the discovery log page when a discovery controller reconnected When using persistent discovery controllers, if the discovery controller loses connectivity and manage to reconnect after a while, we need to retrieve again the discovery log page in order to learn about possible changes that may have occurred during this time as discovery log change events were lost. Signed-off-by: Sagi Grimberg Signed-off-by: Daniel Wagner Link: https://lore.kernel.org/r/20220627080650.108936-1-sagi@grimberg.me --- diff --git a/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in b/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in index 434cc080..245e0d0d 100644 --- a/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in +++ b/nvmf-autoconnect/udev-rules/70-nvmf-autoconnect.rules.in @@ -17,3 +17,10 @@ ACTION=="change", SUBSYSTEM=="nvme", ENV{NVME_AEN}=="0x70f002",\ ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \ ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \ RUN+="@SYSTEMCTL@ --no-block start nvmf-connect@--device=none\t--transport=fc\t--traddr=$env{NVMEFC_TRADDR}\t--trsvcid=none\t--host-traddr=$env{NVMEFC_HOST_TRADDR}.service" + +# A discovery controller just (re)connected, re-read the discovery log change to +# check if there were any changes since it was last connected. +ACTION=="change", SUBSYSTEM=="nvme", ENV{NVME_EVENT}=="connected", ATTR{cntrltype}=="discovery", \ + ENV{NVME_TRTYPE}=="*", ENV{NVME_TRADDR}=="*", \ + ENV{NVME_TRSVCID}=="*", ENV{NVME_HOST_TRADDR}=="*", \ + RUN+="@SYSTEMCTL@ --no-block start nvmf-connect@--device=$kernel\t--transport=$env{NVME_TRTYPE}\t--traddr=$env{NVME_TRADDR}\t--trsvcid=$env{NVME_TRSVCID}\t--host-traddr=$env{NVME_HOST_TRADDR}.service"