[PATCH v2 2/2] nvme: send a rediscover uevent when a persistent discovery controller reconnects

Daniel Wagner dwagner at suse.de
Thu Sep 22 01:30:24 PDT 2022


On Thu, Sep 22, 2022 at 11:15:37AM +0300, Sagi Grimberg wrote:
> When a discovery controller is disconnected, no AENs will arrive to
> notify the host about discovery log change events.
> 
> In order to solve this, send a uevent notification when a
> persistent discovery controller reconnects. We add a new ctrl
> flag NVME_CTRL_STARTED_ONCE that will be set on the first
> start, and consecutive calls will find it set, and send the
> event to userspace if the controller is a discovery controller.
> 
> Upon the event reception, userspace will re-read the discovery
> log page and will act upon changes as it sees fit.
> 
> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
> ---
>  drivers/nvme/host/core.c | 10 ++++++++++
>  drivers/nvme/host/nvme.h |  1 +
>  2 files changed, 11 insertions(+)
> 
> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index 70ebf27ad10e..07a21e0b9cf7 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -4822,6 +4822,16 @@ void nvme_start_ctrl(struct nvme_ctrl *ctrl)

Stupid question: nvme_start_ctrl() is obviously also used in pci.c. Is
it expected that a PCI device also sends out the rediscover event?



More information about the Linux-nvme mailing list