On Mon, Apr 13, 2020 at 03:02:39PM -0400, Tejun Heo wrote: > Hello, > > On Wed, Apr 08, 2020 at 05:21:48PM +0200, Christian Brauner wrote: > > The initial namespace is special in many ways. One feature it always has > > had is that it propagates all its devices into all non-initial > > namespaces. This is e.g. true for all device classes under /sys/class/ > > Maybe I'm missing your point but I've always thought of it the other way > around. Some namespaces make all objects visible in init_ns so that all > non-init namespaces are subset of the init one, which sometimes requires > creating aliases. Other namespaces don't do that. At least in my experience, > the former is a lot easier to administer. > > The current namespace support in kernfs behaves the way it does because the > only namespace it supports is netns, but if we're expanding it, I think it > might be better to default to init_ns is superset of all others model and make > netns opt for the disjointing behavior. Hey Tejun, The point was that devices have always been shown in all namespaces. You can see all devices everywhere. Sure that wasn't ideal but we can't really change that behavior since it would break userspace significantly as a lot of tools are used to that behavior. Another problem is that you might have two devices of the same class with the same name that belong to different namespaces and if you shown them all in the initial namespace you get clashes. This was one of the original reasons why network devices are only shown in the namespace they belong to but not in any other. The network model of only showing the device in the namespace they belong to also has the advantage that tools do not stomp on each others feet when using them.