> 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