[lkml]   [2003]   [Apr]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] add a stub by which a module can bind to the AFS syscall

I selected a variadic method of argument passing because I didn't want to have
to copy the argument block several times in the course of passing from the
syscall stub through the multiplexor to the actual handler.

Of course, it might be better if the kernel itself sorted out the individual
subcalls and passed them to the filesystem individually or dealt with them

The four calls implemented by Linux are:

(*) int setpag(void)

Set Process Authentication Group number. This could easily be moved into
the kernel proper, with the PAG being stored in or depending from the
task structure somehow.

This would then obviate the need for OpenAFS to mangle the setgroups and
getgroups syscalls.

(*) int pioctl(const char *path, int cmd, void *arg, int followsymlink)

Al Viro's favourite:-) Do ioctl() on a file refered to by pathname. Can't
be emulated by open/ioctl/close because:

(a) it can operate directly on symbolic links.

(b) some of its functions don't require a file and don't fail if one
can't be opened.

(*) int afs_call(...)

Local client control

(*) int afs_icl(...)

Local client status and logging control.

There are six more which linux doesn't actually support, even though the
multiplexor does:

(*) icreate
(*) iopen
(*) idec
(*) iinc
(*) iread
(*) iwrite

Deal with file by inode number.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:35    [W:0.120 / U:0.588 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site