From: Stanislav Kinsbursky <skinsbursky@parallels.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: "Trond.Myklebust@netapp.com" <Trond.Myklebust@netapp.com>,
"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
Pavel Emelianov <xemul@parallels.com>,
"neilb@suse.de" <neilb@suse.de>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
James Bottomley <jbottomley@parallels.com>,
"bfields@fieldses.org" <bfields@fieldses.org>,
"davem@davemloft.net" <davem@davemloft.net>,
"devel@openvz.org" <devel@openvz.org>
Subject: Re: [PATCH 01/11] SYSCTL: export root and set handling routines
Date: Thu, 12 Jan 2012 13:17:16 +0400 [thread overview]
Message-ID: <4F0EA51C.1060001@parallels.com> (raw)
In-Reply-To: <m18vle2frv.fsf@fess.ebiederm.org>
11.01.2012 23:36, Eric W. Biederman пишет:
>
> Please stop and take a look at /proc/net. If your /proc/net is not a
> symlink please look at a modern kernel.
>
> /proc/<pid>/net reflects the network namespace of the task in question.
>
Ok, I know that.
I know, that if some task with pid N is in other network namespace, then
/proc/<N>/net contents will differ to /proc/selt/net contents.
>> And what do you think about "conteinerization" of /proc contents in the way like
>> "sysfs" was done?
>
> I think the way sysfs is done is a pain in the neck to use. Especially
> in the context of commands like "ip netns exec". With the sysfs model
> there is a lot of extra state to manage.
>
> I totally agree that the way sysfs is done is much better than the way
> /proc/sys is done today. Looking at current can be limiting in the
> general case.
>
> My current preference is the way /proc/net was done.
>
Ok. But this approach still requires some additional data to manage in user
space. I.e. it's really easy to manage container's context using it's fs root,
because container's root is a part of initial configuration. But container's
processed pids numbers in parent context are unpredictable.
>> Implementing /proc "conteinerization" in this way can give us great flexibility.
>> For example, /proc/net (and /proc/sys/sunrpc) depends on mount owner net
>> namespace, /proc/sysvipc depends on mount owner ipc namespace, etc.
>> And this approach doesn't break backward compatibility as well.
>
> The thing is /proc/net is already done.
>
> All I see with making things like /proc/net depend on the context of the
> process that called mount is a need to call mount much more often.
>
/proc/net is a part or /proc. And /proc mount is called per container. So this
is just like it is.
I have some solution I mind, which looks quite simple to implement, doesn't
require significant additional state to manage and suits my needs.
Please, consider this.
It's based on sysfs containerization approach, but simplified a lot.
Sysctl's (comparing to sysfs entries) entries are the same for all namespaces.
This actually means, that we don't need any additional infrastructure for
managing dentries. All we need to know on read/write operations with sysctl's is
the namespaces /proc was mounted from.
Thus if we:
1) replace /proc sb->s_fsdata content from pid_namespace to nsproxy and
2) add link to /proc sb to ctl_table and
3) add ns tag (pid, net, else or none) to ctl_table
then we will have all we need to manage sysctl's content in the way we want.
And looks like this approach doesn't break backward compatibility.
What do you think about it?
--
Best regards,
Stanislav Kinsbursky
next prev parent reply other threads:[~2012-01-12 9:18 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-14 11:44 [PATCH 00/11] SUNRPC: make sysctl per network namespcase context Stanislav Kinsbursky
2011-12-14 11:44 ` [PATCH 01/11] SYSCTL: export root and set handling routines Stanislav Kinsbursky
2011-12-17 22:25 ` Eric W. Biederman
2011-12-19 8:56 ` Stanislav Kinsbursky
2011-12-19 10:15 ` Eric W. Biederman
2011-12-19 12:22 ` Stanislav Kinsbursky
2011-12-19 16:37 ` Eric W. Biederman
2011-12-19 17:24 ` Stanislav Kinsbursky
2012-01-03 3:49 ` Eric W. Biederman
2012-01-10 10:38 ` Stanislav Kinsbursky
2012-01-10 22:39 ` Eric W. Biederman
2012-01-11 9:47 ` Stanislav Kinsbursky
2012-01-11 17:21 ` Eric W. Biederman
2012-01-11 18:02 ` Stanislav Kinsbursky
2012-01-11 19:36 ` Eric W. Biederman
2012-01-12 9:17 ` Stanislav Kinsbursky [this message]
2011-12-14 11:44 ` [PATCH 02/11] SUNRPC: use syctl path instead of dummy parent table Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 03/11] SUNRPC: sysctl root for debug table introduced Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 04/11] SUNRPC: per-net sysctl's set introduced Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 05/11] SUNRPC: register debug sysctl table per network namespace Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 06/11] SUNRPC: register xs_tunables " Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 07/11] SUNRPC: xs tunables per network namespace introduced Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 08/11] SUNRPC: use per-net xs tunables instead of static ones Stanislav Kinsbursky
2011-12-14 11:45 ` [PATCH 09/11] SUNRPC: remove xs_tcp_fin_timeout variable Stanislav Kinsbursky
2011-12-14 11:46 ` [PATCH 10/11] SUNRPC: allow debug flags modifications only from init_net Stanislav Kinsbursky
2011-12-14 11:46 ` [PATCH 11/11] SUNRPC: sysctl table for rpc_debug introduced Stanislav Kinsbursky
2012-02-07 11:44 ` [PATCH 00/11] SUNRPC: make sysctl per network namespcase context Stanislav Kinsbursky
2012-02-07 13:21 ` Myklebust, Trond
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F0EA51C.1060001@parallels.com \
--to=skinsbursky@parallels.com \
--cc=Trond.Myklebust@netapp.com \
--cc=bfields@fieldses.org \
--cc=davem@davemloft.net \
--cc=devel@openvz.org \
--cc=ebiederm@xmission.com \
--cc=jbottomley@parallels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neilb@suse.de \
--cc=netdev@vger.kernel.org \
--cc=xemul@parallels.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).