From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Braam Subject: Lustre & special file ops Date: Mon, 17 Mar 2003 20:30:12 -0700 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <20030318033011.GS12121@peter.cfs> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from peter.cfs (teranet244-12-32.monarch.net [24.244.12.32]) by moraine.clusterfs.com (Postfix) with ESMTP id 7EAF1310099 for ; Mon, 17 Mar 2003 22:32:33 -0500 (EST) To: linux-fsdevel@vger.kernel.org Content-Disposition: inline List-Id: linux-fsdevel.vger.kernel.org Hi, Lustre is a cluster file system that has a client server architecture. When a client opens a file, the server sees an open call. This is done so that the server can take care to handle open-unlinked files correctly across cluster nodes. For regular and directory files this is fairly straightforward. We also want to handle open-unlinked special files correctly, since operations like fchmod and fstat on different cluster nodes issued on file descriptors associated with open special files still require synchronization through the server. This requires non-standard open/close methods on the special files. So we would like Lustre to roughly do something like: ll_special_open(struct inode *inode, struct file *file) { 1. do what init_special_inode installs 2. do open RPC on the metadata server } Is there an elegant, simple way to accomplish this? Thanks for any help! - Peter -