lkml.org 
[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
    Date
    From

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

    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.

    David
    -
    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/

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