[OpenAFS] Re: [OpenAFS-devel] interface for vos split

Russ Allbery rra@stanford.edu
Thu, 08 Jan 2009 12:32:20 -0800

"Steven Jenkins" <steven.jenkins@gmail.com> writes:

> fs getfid (like virtually all of the fs subcommands) is implemented by
> marshalling arguments and then making a PIOCTL call into the kernel.
> Without a cache manager, you can't get a response to that PIOCTL.  Even
> with a cache manager running, you would need to marshal up the arguments
> and make a PIOCTL, which means linking vos.c in with new libraries.  vos
> is already huge; I think making it understand how to do PIOCTL calls
> would be significant enough to where we would look at getting rid of fs
> entirely (i.e., if vos can do one PIOCTL, adding the rest is relatively
> straightforward).

These are all reasonable arguments from a code perspective, but are things
that users don't care about in the slightest.

(The real solution to large binaries is to standardize our library
interfaces and create shared libraries, but that's a lot more work.)

> Thus it seems to me most straightforward from a user-experience
> viewpoint to require the vnode.  and not provide a -dirname option, but
> make sure the man page shows how to use fs gettfid to determine the
> vnode.  The user experience would not necessarily be ideal, but it would
> be consistent, thus less frustrating to the user in the long run.

I think this is a better tradeoff than adding a new volserver call,
definitely.  If we can't put the capability of fs getfid into vos, I think
the above would be less confusing than an implementation that sort of
supports directory names but doesn't in a way that users expect.

Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>