Messages in this thread | | | From | (Eric W. Biederman) | Date | Tue, 09 Sep 2008 13:08:29 -0700 | Subject | Re: [RFC][PATCH] sunrpc: fix oops in rpc_create() when the mount namespace is unshared |
| |
Chuck Lever <chuck.lever@oracle.com> writes:
> On Sep 9, 2008, at Sep 9, 2008, 2:20 PM, ebiederm@xmission.com wrote: >> Chuck Lever <chuck.lever@oracle.com> writes: >> >>> If the upper layers are responsible for providing the utsname, you will need >>> to >>> fix up lockd and the NFS server's callback client too, at least. >> >> Actually looking at the code. It looks like a proper fix may be even simpler. >> Why do we have both clnt->cl_server and clnt->cl_nodename? Or is cl_server >> the other side of the connection? > > cl_server is the server-side. cl_nodename is the "machine name" of the client.
Thanks, Darn. Looks like we need to capture both names at the same or a similar point.
I'm wondering if we need to capture a network namespace as well.
>>> I don't like the idea of an oops in here. Instead, (for now) it should warn >>> and >>> fail to create the client, IMO. >> >> Which is interesting when the problem happens during NFS unmount. Although >> frankly it could fail anyway. >> >> It seems strange that we are creating a client during unmount anyway. > > It's worth investigating. Just enable RPC tracing (/usr/sbin/rpcdebug -m rpc -s > all) before shutting down the client. > > NFS unmounting is historically difficult because during a system shutdown, > unmounting is the last thing to occur, and usually happens after most system > services (such as the portmapper service) have become unavailable. That's fine > for local file systems, but it makes for a rather dodgy situation for NFS.
Interesting.
Eric
| |