From: Matt Helsley <matthltc@us.ibm.com>
To: Linux Containers <containers@lists.linux-foundation.org>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
Cedric Le Goater <clg@fr.ibm.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
linux-nfs@vger.kernel.org,
Trond Myklebust <trond.myklebust@fys.uio.no>,
Chuck Lever <chuck.lever@oracle.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Matt Helsley <matthltc@us.ibm.com>,
Linux Containers <containers@lists.osdl.org>
Subject: [RFC][PATCH 2/4] sunrpc: Use utsnamespaces
Date: Mon, 05 Jan 2009 17:13:16 -0800 [thread overview]
Message-ID: <20090106011314.961946803@us.ibm.com> (raw)
In-Reply-To: 20090106011314.534653345@us.ibm.com
[-- Attachment #1: reenable-uts-ns-for-most-rpc-clients.patch --]
[-- Type: text/plain, Size: 1636 bytes --]
We can often specify the UTS namespace to use when starting an RPC client.
However sometimes no UTS namespace is available (specifically during system
shutdown as the last NFS mount in a container is unmounted) so fall
back to the initial UTS namespace.
Signed-off-by: Matt Helsley <matthltc@us.ibm.com>
Cc: Cedric Le Goater <clg@fr.ibm.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: linux-nfs@vger.kernel.org
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Linux Containers <containers@lists.osdl.org>
---
net/sunrpc/clnt.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
Index: linux-2.6.28/net/sunrpc/clnt.c
===================================================================
--- linux-2.6.28.orig/net/sunrpc/clnt.c
+++ linux-2.6.28/net/sunrpc/clnt.c
@@ -128,6 +128,7 @@ static struct rpc_clnt * rpc_new_client(
struct rpc_version *version;
struct rpc_clnt *clnt = NULL;
struct rpc_auth *auth;
+ struct new_utsname *uts_ns = init_utsname();
int err;
size_t len;
@@ -213,10 +214,12 @@ static struct rpc_clnt * rpc_new_client(
}
/* save the nodename */
- clnt->cl_nodelen = strlen(init_utsname()->nodename);
+ if (current->nsproxy != NULL)
+ uts_ns = utsname();
+ clnt->cl_nodelen = strlen(uts_ns->nodename);
if (clnt->cl_nodelen > UNX_MAXNODENAME)
clnt->cl_nodelen = UNX_MAXNODENAME;
- memcpy(clnt->cl_nodename, init_utsname()->nodename, clnt->cl_nodelen);
+ memcpy(clnt->cl_nodename, uts_ns->nodename, clnt->cl_nodelen);
rpc_register_client(clnt);
return clnt;
--
next prev parent reply other threads:[~2009-01-06 1:13 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-01-06 1:13 [RFC][PATCH 0/4] utsns: RPC/NFS bug rework Matt Helsley
2009-01-06 1:13 ` [RFC][PATCH 1/4] Remove useless utsname.h includes Matt Helsley
2009-01-06 1:13 ` Matt Helsley [this message]
2009-01-06 20:02 ` [RFC][PATCH 2/4] sunrpc: Use utsnamespaces Serge E. Hallyn
2009-01-06 20:20 ` J. Bruce Fields
2009-01-06 21:53 ` Serge E. Hallyn
2009-01-06 23:35 ` Matt Helsley
2009-01-06 22:43 ` Matt Helsley
2009-01-06 20:44 ` Trond Myklebust
2009-01-06 21:58 ` Serge E. Hallyn
2009-01-06 22:42 ` Trond Myklebust
2009-01-07 0:08 ` Matt Helsley
2009-01-07 0:20 ` Trond Myklebust
2009-01-07 0:43 ` Matt Helsley
2009-01-07 1:10 ` Trond Myklebust
2009-01-07 0:20 ` J. Bruce Fields
2009-01-07 0:23 ` Trond Myklebust
2009-01-07 3:44 ` Matt Helsley
2009-01-06 23:04 ` Eric W. Biederman
2009-01-06 23:15 ` Trond Myklebust
2009-01-06 23:32 ` J. Bruce Fields
2009-01-06 23:35 ` Trond Myklebust
2009-01-06 23:48 ` Matt Helsley
2009-01-06 23:51 ` Chuck Lever
2009-01-06 23:53 ` J. Bruce Fields
2009-01-07 0:07 ` Matt Helsley
2009-01-07 0:55 ` Eric W. Biederman
2009-01-07 0:20 ` Trond Myklebust
2009-01-07 0:20 ` Trond Myklebust
2009-01-07 0:26 ` J. Bruce Fields
2009-01-07 0:38 ` Trond Myklebust
2009-01-07 1:44 ` J. Bruce Fields
2009-01-07 1:50 ` Trond Myklebust
2009-01-07 2:37 ` Eric W. Biederman
2009-01-06 23:30 ` Matt Helsley
2009-01-06 23:18 ` Matt Helsley
2009-01-06 23:43 ` Trond Myklebust
2009-01-06 23:58 ` Matt Helsley
2009-01-06 22:29 ` Chuck Lever
2009-01-07 0:01 ` Serge E. Hallyn
2009-01-06 1:13 ` [RFC][PATCH 3/4] sunrpc: Improve UTS namespace workaround Matt Helsley
2009-01-06 16:02 ` Chuck Lever
2009-01-07 0:28 ` Matt Helsley
2009-01-07 3:02 ` Matt Helsley
2009-01-06 1:13 ` [RFC][PATCH 4/4] Represent RPC Callers Matt Helsley
2009-01-06 13:04 ` Trond Myklebust
2009-01-06 23:05 ` Matt Helsley
-- strict thread matches above, loose matches on Subject: below --
2009-01-07 0:39 [RFC][PATCH 2/4] sunrpc: Use utsnamespaces trond.myklebust
2009-01-07 0:57 ` Matt Helsley
2009-01-07 1:02 ` Trond Myklebust
2009-01-07 1:22 ` Matt Helsley
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=20090106011314.961946803@us.ibm.com \
--to=matthltc@us.ibm.com \
--cc=bfields@fieldses.org \
--cc=chuck.lever@oracle.com \
--cc=clg@fr.ibm.com \
--cc=containers@lists.linux-foundation.org \
--cc=containers@lists.osdl.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trond.myklebust@fys.uio.no \
/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