Re: v4 clientid uniquifiers in containers/namespaces

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> On Feb 7, 2022, at 9:05 AM, Benjamin Coddington <bcodding@xxxxxxxxxx> wrote:
> 
> On 5 Feb 2022, at 14:50, Benjamin Coddington wrote:
> 
>> On 5 Feb 2022, at 13:24, Trond Myklebust wrote:
>> 
>>> On Sat, 2022-02-05 at 10:03 -0500, Benjamin Coddington wrote:
>>>> Hi all,
>>>> 
>>>> Is anyone using a udev(-like) implementation with
>>>> NETLINK_LISTEN_ALL_NSID?
>>>> It looks like that is at least necessary to allow the init namespaced
>>>> udev
>>>> to receive notifications on /sys/fs/nfs/net/nfs_client/identifier,
>>>> which
>>>> would be a pre-req to automatically uniquify in containers.
>>>> 
>>>> I'md interested since it will inform whether I need to send patches
>>>> to
>>>> systemd's udev, and potentially open the can of worms over there. 
>>>> Yet its
>>>> not yet clear to me how an init namespaced udev process can write to
>>>> a netns
>>>> sysfs path.
>>>> 
>>>> Another option might be to create yet another daemon/tool that would
>>>> listen
>>>> specifically for these notifications.  Ugh.
>>>> 
>>>> Ben
>>>> 
>>> 
>>> I don't understand. Why do you need a new daemon/tool?
> 
> Because what we've got only works for the init namespace.
> 
> Udev won't get kobject notifications because its not using
> NETLINK_LISTEN_ALL_NSIDs.
> 
> We need to figure out if we want:
> 
> 1) the init namespace udevd to handle all client_id uniquifiers
> 2) we expect network namespaces to run their own udevd
> 3) or both.
> 
> I think 2 violates "least surprise", and 3 might not be something anyone
> ever wants.  If they do, we can fix it at that point.
> 
> So to make 1 work, we can try to change udevd, or maybe just hacking about
> with nfs_netns_object_child_ns_type will be sufficient.

I agree that 1 seems like the preferred approach, though
I don't have a technical suggestion at this point.

Again, thank you for drilling into this.


--
Chuck Lever







[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux