[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac168168-fed2-2b57-493e-e88261ead73b@grimberg.me>
Date: Thu, 29 Aug 2019 11:21:02 -0700
From: Sagi Grimberg <sagi@...mberg.me>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Christoph Hellwig <hch@....de>
Cc: linux-nvme@...ts.infradead.org,
Keith Busch <keith.busch@...el.com>,
James Smart <james.smart@...adcom.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 3/3] nvme: fire discovery log page change events to
userspace
>>>> You are correct that this information can be derived from sysfs, but the
>>>> main reason why we add these here, is because in udev rule we can't
>>>> just go ahead and start looking these up and parsing these..
>>>>
>>>> We could send the discovery aen with NVME_CTRL_NAME and have
>>>> then have systemd run something like:
>>>>
>>>> nvme connect-all -d nvme0 --sysfs
>>>>
>>>> and have nvme-cli retrieve all this stuff from sysfs?
>>>
>>> Actually that may be a problem.
>>>
>>> There could be a hypothetical case where after the event was fired
>>> and before it was handled, the discovery controller went away and
>>> came back again with a different controller instance, and the old
>>> instance is now a different discovery controller.
>>>
>>> This is why we need this information in the event. And we verify this
>>> information in sysfs in nvme-cli.
>>
>> Well, that must be a usual issue with uevents, right? Don't we usually
>> have a increasing serial number for that or something?
>
> Yes we do, userspace should use it to order events. Does udev not
> handle that properly today?
The problem is not ordering of events, its really about the fact that
the chardev can be removed and reallocated for a different controller
(could be a completely different discovery controller) by the time
that userspace handles the event.
Powered by blists - more mailing lists