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

Christoph Hellwig (hch@infradead.org)
Wed, 30 Apr 2003 16:27:39 +0100


On Wed, Apr 30, 2003 at 11:13:23AM -0400, chas williams wrote:
> at the time afs was written it wasnt a mistake.

Oh yes, it was. The same mistake as the even earlier SysV IPC mess.

> 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).

So fix the AFS code up to use a routine for each subcall that
can still map to pioctl for !linux. After that we can continue the
discussion on how these calls are best implemented on linux.
-
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/