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

Sagi Grimberg sagi at grimberg.me
Thu Sep 22 01:33:29 PDT 2022


>> 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?

It won't pass the nvme_discovery_ctrl test.



More information about the Linux-nvme mailing list