nvme-fc: add uevent for auto-connect
authorJames Smart <jsmart2021@gmail.com>
Thu, 14 Sep 2017 17:38:42 +0000 (10:38 -0700)
committerChristoph Hellwig <hch@lst.de>
Wed, 4 Oct 2017 07:48:20 +0000 (09:48 +0200)
commiteaefd5abf6b095bfc55eb745bdf7c42cf66790eb
treeee0eb14c65b75070ff55bb1763e02639dcc702d2
parentd1f1071f8151355ec149117238e9c5aa6404ca9f
nvme-fc: add uevent for auto-connect

To support auto-connecting to FC-NVME devices upon their dynamic
appearance, add a uevent that can kick off connection scripts.
uevent is posted against the fc_udev device.

patch set tested with the following rule to kick an nvme-cli connect-all
for the FC initiator and FC target ports. This is just an example for
testing and not intended for real life use.

ACTION=="change", SUBSYSTEM=="fc", ENV{FC_EVENT}=="nvmediscovery", \
        ENV{NVMEFC_HOST_TRADDR}=="*", ENV{NVMEFC_TRADDR}=="*", \
RUN+="/bin/sh -c '/usr/local/sbin/nvme connect-all --transport=fc --host-traddr=$env{NVMEFC_HOST_TRADDR} --traddr=$env{NVMEFC_TRADDR} >> /tmp/nvme_fc.log'"

I will post proposed udev/systemd scripts for possible kernel support.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/fc.c
include/linux/nvme-fc-driver.h