Re: [PATCH] add a stub by which a module can bind to the AFS syscall

viro@parcelfarce.linux.theplanet.co.uk
Wed, 30 Apr 2003 16:56:52 +0100


On Wed, Apr 30, 2003 at 11:13:23AM -0400, chas williams wrote:
> at the time afs was written it wasnt a mistake. syscall was the only
> (easy) way into the kernel from user space. adding multiple syscalls
> would have just been completely painful. as for examples, pioctl() --
> the user space of the afs syscall -- is a bit like syssgi() i am afraid:
>
> venus/fs.c: code = pioctl(0, VIOC_GETCELLSTATUS, &blob, 1);
> venus/fs.c: code = pioctl(0, VIOC_SETRXKCRYPT, &blob, 1);
> vlserver/sascnvldb.c: code = pioctl(ti->data, VIOCGETVOLSTAT, &blob, 1);
> auth/ktc_nt.c: code = pioctl(0, VIOCNEWGETTOK, &iob, 0);
> auth/ktc_nt.c: code = pioctl(0, VIOCDELTOK, &iob, 0);
> package/package.c: code = pioctl(0, VIOC_AFS_SYSNAME, &data, 1);
> venus/up.c: code = pioctl(file1, _VICEIOCTL(2), &blob, 1);
>
> in reality, very few things other than afs are going to want to use
> the afs syscall (arla might be a possible user).

Which means only one thing - changing that API will affect very few
things.

Let's keep the kernel side sane. We don't have to mess with multiplexors
and even if we decide to use them, we will be better off by having decoder
outside of AFS proper. Again, take a look at interaction between userland
and knfsd. Right now we have a sane interface (IO on nfsctl files) and
we have a wrapper (sys_nfsctl) that does decode/open/write/read/close.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/