Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262259AbTEMQpl (ORCPT ); Tue, 13 May 2003 12:45:41 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S262237AbTEMQpg (ORCPT ); Tue, 13 May 2003 12:45:36 -0400 Received: from pub237.cambridge.redhat.com ([213.86.99.237]:7398 "EHLO warthog.warthog") by vger.kernel.org with ESMTP id S262225AbTEMQp1 (ORCPT ); Tue, 13 May 2003 12:45:27 -0400 To: Jeff Garzik cc: Christoph Hellwig , David Howells , torvalds@transmeta.com, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, openafs-devel@openafs.org Subject: Re: [PATCH] in-core AFS multiplexor and PAG support In-Reply-To: <20030513163929.GB30944@gtf.org> User-Agent: EMH/1.14.1 SEMI/1.14.4 (Hosorogi) FLIM/1.14.4 (=?ISO-8859-4?Q?Kashiharajing=FE-mae?=) APEL/10.4 Emacs/21.2 (i386-redhat-linux-gnu) MULE/5.0 (SAKAKI) MIME-Version: 1.0 (generated by SEMI 1.14.4 - "Hosorogi") Content-Type: text/plain; charset=US-ASCII Date: Tue, 13 May 2003 17:57:47 +0100 Message-ID: <9068.1052845067@warthog.warthog> From: David Howells Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1750 Lines: 47 > 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/