Re: [PATCH 00/10] sysfs tagged directories

From: Serge E. Hallyn
Date: Thu May 01 2008 - 11:11:16 EST


Quoting Greg KH (gregkh@xxxxxxx):
> On Tue, Apr 29, 2008 at 02:34:17PM -0500, Serge E. Hallyn wrote:
> > Finally, to give an idea about how the trees end up looking, here is
> > what I just did on my test box;
> >
> > /usr/sbin/ip link add type veth
> > mount --bind /mnt /mnt
> > mkdir /mnt/sys
> > mount --make-shared /mnt
> > ns_exec -cmn /bin/sh # unshare netns and mounts ns
> > # At this point, I still see eth0 and friends under /sys/class/net etc
> > mount -t sysfs none /sys
> > # At this point, /sys/class/net has only lo0 and sit0, and
> > # /sys/devices/pci0000:00/0000:00:03.0/net:eth0 is a dead link
> > mount --bind /sys /mnt/sys
> > echo $$
> > 3050
> >
> > (back in another shell):
> > /usr/sbin/ip link set veth1 netns 3050
> >
> > (back in container shell):
> > /usr/sbin/ip link set veth1 name eth0
> > # Now /sys/devices/pci0000:00/0000:00:03.0/net:eth0 is a live link to
> > # the /sys/class/net/eth0 which is really the original veth1
> > exit
> >
> > ls /mnt/sys/class/net
> > # empty directory
>
> What does this all look like without CONFIG_SYSFS_DEPRECATED enabled,
> which is what all sane distros do these days. That's going to change
> the look of the tree for stuff like this a lot I think...
>
> thanks,
>
> greg k-h

Now before moving veth1 to the new netns, we have in the container:
/sys/class/net:
lo sit0

/sys/devices/virtual/net:
lo sit0

and after moving veth1, we have in the container:

/sys/class/net:
lo sit0 veth1

/sys/devices/virtual/net:
lo sit0

In the parent network namespace, veth1 is removed from /sys/class/net
but remains in /sys/devices/virtual/net.

I'm not sure whether this is the renaming bug that Daniel Lezcano's
patch addresses. If not (as I suspect) then that clearly needs to be
fixed.

Benjamin can you play around with this and test it with Daniel's
patch?

thanks,
-serge
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/