[Devel] Re: [PATCH 10/11] netns: Enable tagging for net_class directories in sysfs
Tejun Heo
htejun at gmail.com
Sun Jun 22 19:18:12 PDT 2008
Benjamin Thery wrote:
> --- linux-mm.orig/fs/sysfs/mount.c
> +++ linux-mm/fs/sysfs/mount.c
> @@ -16,6 +16,8 @@
> #include <linux/mount.h>
> #include <linux/pagemap.h>
> #include <linux/init.h>
> +#include <linux/nsproxy.h>
> +#include <net/net_namespace.h>
>
> #include "sysfs.h"
>
> @@ -78,6 +80,7 @@ static int sysfs_fill_super(struct super
> root->d_sb = sb;
> sb->s_root = root;
> sb->s_fs_info = info;
> + info->tag.net_ns = hold_net(current->nsproxy->net_ns);
> return 0;
>
> out_err:
> @@ -95,6 +98,9 @@ static int sysfs_test_super(struct super
> struct sysfs_super_info *info = sysfs_info(sb);
> int found = 1;
>
> + if (task->nsproxy->net_ns != info->tag.net_ns)
> + found = 0;
> +
> return found;
> }
>
> @@ -131,6 +137,8 @@ static void sysfs_kill_sb(struct super_b
> struct sysfs_super_info *info = sysfs_info(sb);
>
> kill_anon_super(sb);
> + if (info->tag.net_ns)
> + release_net(info->tag.net_ns);
> kfree(info);
> }
Ouch... Please don't hard code net_ns functions directly from sysfs.
Please make a proper abstraction for ns, make net_ns register it and
sysfs test the abstract ns.
Thanks.
--
tejun
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list