On Thu, Jan 20, 2011 at 07:57:52AM -0600, Rob Landley wrote:
I've also mounted NFS shares in test environments I never mounted
rpc_pipefs in. (It's possible that the nfs.mount command was doing so
for me, and apparently unmounting it again afterwards.) My test
environment is exporting with the userspace NFS daemon so it's not using
the kernel cacheing infrastructure.
If you grep for rpc_mkpipe() you'll see it's only used in the idmapping
and rpcsec_gss code; which means you wouldn't need it unless using NFSv4
(which uses idmapping) or rpcsec_gss.
quoted
There is client dir (nfs/clntX) in rpc_pipefs for every sunrpc client.
Both client and server (see fs/nfsd/nfs4callback.c) can create sunrpc
client. So we rpc_pipefs on both side.
Ok, both client and server can create instances. And use them to do what?
I understand that the kernel needs to handle RPC calls to service NFS
requests, what I'm not figuring out is how userspace is involved after
the initial mount except on the other side of filesystem-agnostic system
calls.
If you want to see the code on the userland side of the interfaces, see
utils/gssd and utils/idmapd in the nfs-utils code.
--b.