Messages in this thread | | | Subject | Re: [PATCH] in-core AFS multiplexor and PAG support | Date | Tue, 13 May 2003 17:57:47 +0100 | From | David Howells <> |
| |
> 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/
| |