Messages in this thread | | | From | David Howells <> | Subject | Re: [PATCH 00/17] [RFC] AFS: Implement OpenAFS pioctls(version)s | Date | Wed, 17 Jun 2009 01:25:58 +0100 |
| |
Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
> But if we add an ABI we end up stuck with it and this one is really > really rather ugly.
Somewhat less ugly than ioctl, for instance, but you're not entirely wrong. There is no good way of doing this.
> Can you not put pioctl() into a C library linked with the openafs utilities > that generates more sensible interface calls? I mean you have to produce > the pioctl() syscall wrapper anyway so why not make "pioctl" a user space > compat library?
pioctl() is almost implementable with a combination of (l)setxattr, (l)getxattr, set_key, keyctl_read, and if all else fails, open + ioctl or open(O_NOFOLLOW) + ioctl, but not quite completely. There are things you can't open, even with O_NOFOLLOW. And doing state-retaining setxattr/getxattr pairs is even more nasty than pioctl (IIRC, that's something Christoph suggested a while back).
Besides, I want a set of utilities that I can use in conjunction with both kAFS and OpenAFS without having to recompile.
David
| |