[AFS3-std] Adding VL_WhoAmI

Jeffrey Hutzelman jhutz@cmu.edu
Tue, 09 Feb 2010 11:00:08 -0500


--On Sunday, February 07, 2010 06:53:46 PM -0500 Jeffrey Altman 
<jaltman@secure-endpoints.com> wrote:

> On the other hand, if we take the approach that the PR database must be
> uniform across the cell, why do we need to avoid sending requests from
> the cache manager to the PR service?   The PR service is not like the
> Vol service which is never contacted by a client.  While the PR service
> is not contacted by the cache manager, it is contacted by other client
> processes: *klog, fs examine, Windows Explorer Shell extension, etc."
> Is there a protocol reason to avoid sending requests to the PR service?

Having the CM send requests to the PR service will add a fair bit of 
complexity to the OpenAFS CM implementations, which currently do not track 
the status of ptservers.  This problem probably gets worse when you start 
considering support for SRV records, both because they allow defining 
separate sets of servers for each service, and because they allow the use 
of non-default ports.

On the other hand, the CM also does not currently send authenticated 
requests to vlservers.  Even in a world where CM's are keyed and do send 
authenticated requests to vlservers, there is currently no expectation that 
they will maintain separate vlserver connections for each user, and I'd 
rather we think about that before increasing the vlserver's connection load 
in that way.  It shouldn't be too bad, but could be a factor of 100 or more.

I'd also prefer not to create a VL->PR dependency for this purpose.



By contrast, it seems like it would be fairly simple for the CM to call 
RXAFS_WhoAmI as part of setting up a new fileserver connection, remember 
the answer for each connection, and copy it into the axs cache entries. 
This resolves the question of what fileserver to ask, restricts the use of 
each fileserver's answer to the axs cache entries corresponding to rights 
advertised by that server, and eliminates the need to add a PR dependency 
to either the CM or vlserver.

-- Jeff