Re: [PATCH] in-core AFS multiplexor and PAG support

From: David Howells (dhowells@warthog.cambridge.redhat.com)
Date: Tue May 13 2003 - 11:57:47 EST


> AFS is annoying and painful no matter how you look at it. :/
>
> But I don't think 90+ new syscalls is the answer, even for 2.7.

I think it's going to be either

 (1) try to maintain compatibility with OpenAFS and Arla's current syscall
     setup

 (2) totally rewrite the interface and tell OpenAFS/Arla they have to change
     too.

In the case of (2), I think the AFS operations would best be emulated by a
combination of the following means:

 (1) Use the setpag() syscall in my patch.

 (2) Add syscalls for managing tokens on a general filesystem-by-filesystem
     basis (only need four ops: set, get, delete and clear-all). These could
     work through operations in struct file_system_type.

 (3) Work through sysfs files for fs-specific control functions. Things like
     adding cells would come into this category.

 (4) Emulate as much as many of the inode-requiring pioctl calls as possible
     with xattr syscalls.

However, this leaves at least one that doesn't fit into any of the above
categories. VIOC_STAT_MT_PT takes an inode, and so should come into (4) except
that the xattr key size isn't sufficiently capacious.

There are two ways to deal with this:

 (1) Add an actual pioctl syscall as a top-level syscall and make it either
     call a pioctl method in inode_operations or maybe have it fake a dentry
     and file and call file_operations->ioctl.

 (2) Open the directory holding the mountpoint and make an ioctl that aims at
     the mountpoint in question.

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/



This archive was generated by hypermail 2b29 : Thu May 15 2003 - 22:00:46 EST