2008-06-19 17:10:25

by Myklebust, Trond

[permalink] [raw]
Subject: Re: [RFC] new client gssd upcall

On Thu, 2008-06-19 at 11:49 -0400, Jeff Layton wrote:
> Because it's less code that we have to maintain. rpc_pipefs certainly works
> (and works fairly well), but we have so many upcall mechanisms in the
> kernel already. keyctl also has some nice features (automated cache
> timeouts, granular security, etc), and was designed with this sort of use
> in mind.
>
> I'm not saying that we absolutely need to scrap rpc_pipefs, but considering
> alternatives may mean less work for us all in the long run.

Talk about scrapping rpc_pipefs is premature, to say the least: I have
yet to see a plan for replacing the idmapd upcall. I have yet to see
working code that replaces the gss upcall and that works correctly in a
non-blocking environment.

--
Trond Myklebust
Linux NFS client maintainer

NetApp
[email protected]
http://www.netapp.com


2008-06-19 17:27:42

by Jeff Layton

[permalink] [raw]
Subject: Re: [RFC] new client gssd upcall

On Thu, 19 Jun 2008 13:06:22 -0400
Trond Myklebust <[email protected]> wrote:

> On Thu, 2008-06-19 at 11:49 -0400, Jeff Layton wrote:
> > Because it's less code that we have to maintain. rpc_pipefs certainly works
> > (and works fairly well), but we have so many upcall mechanisms in the
> > kernel already. keyctl also has some nice features (automated cache
> > timeouts, granular security, etc), and was designed with this sort of use
> > in mind.
> >
> > I'm not saying that we absolutely need to scrap rpc_pipefs, but considering
> > alternatives may mean less work for us all in the long run.
>
> Talk about scrapping rpc_pipefs is premature, to say the least: I have
> yet to see a plan for replacing the idmapd upcall. I have yet to see
> working code that replaces the gss upcall and that works correctly in a
> non-blocking environment.
>

That was probably too strongly worded. We wouldn't be scrapping
rpc_pipefs for a long time even if we did add new upcall schemes. That
said:

I know that David H. recently added async versions of request_key:

request_key_async()

...and...

request_key_async_with_auxdata()

...assuming they work the way I think they do, they should be OK for
the non-blocking case. There's also no reason we couldn't use keys for
idmap upcalls as well. I'm considering them for a similar idmap scheme
for CIFS.

Of course all of this is handwavy and speculative. I have no working
code. I was just asking whether anyone had considered this API for
this purpose.

--
Jeff Layton <[email protected]>