[PATCH 3/4] nvme-fabrics: add tp8010 support

Sagi Grimberg sagi at grimberg.me
Sun Jan 30 00:46:02 PST 2022


> [ .. ]
>>>> It would be nice to have different events because if we use the 
>>>> "change"
>>>> uevent for both "log pages have changed" and "connection has been
>>>> restored", then the user-space app will have to send both an "explicit
>>>> registration" and a "get log page" whenever it receives a "change" 
>>>> uevent.
>>>> It won’t be able to tell what that "change" uevent is for.
>>>>
>>>
>>> Au contraire.
>>> Change events come with a full payload detailing out what the event 
>>> is about.
>>> In the case of a 'log page changed' uevent the event points to the 
>>> controller
>>> device, and payload is a string 'NVME_AEN=<aen number>'.
>>> In the case of the 'path reinstated' uevent the event points to the 
>>> block
>>> device.
>>
>> There is no *block device*. It's a connection to a Discover Controller.
>>
> Ah. Correct. Guess we'll have to add an uevent here.

Yes, thgere is no bdev for discovery controllers. We may add a uevent
for userspace to consume as soon as the transport reconnects or when
a controller (re)starts.

Don't see any point for the disconnect part as this is async and will
not have any ordering with the actual disconnect. userspace will need
to do it before it disconnects the discovery controller.



More information about the Linux-nvme mailing list