From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleg Drokin Subject: FS-specified FSID for non-device based filesystems? Date: Wed, 12 Apr 2006 14:10:03 +0300 Message-ID: <20060412111003.GZ26989@linuxhacker.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org Return-path: Received: from linuxhacker.ru ([217.76.32.60]:18897 "EHLO shrek.linuxhacker.ru") by vger.kernel.org with ESMTP id S932154AbWDLLKW (ORCPT ); Wed, 12 Apr 2006 07:10:22 -0400 To: neilb@cse.unsw.edu.au Content-Disposition: inline Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Hello! Right now NFSD depends on FS_REQUIRES_DEV to be set in sb->s_type->fs_flags or manually set fsid= in /etc/exports in order to export filesystem. But there are non-device based filesystems (Lustre for example ;) ) that would like to be exported via NFS without guiding users through this fsid= business. Of course it is easy to cheat through by setting FS_REQUIRES_DEV, but this does not solve entire problem. While allowing for single-node export of filesystem to work ok, more generic problem of exporting same filesystem from several NFS servers in clustered manner won't work because sb->s_dev might be different on different nodes. This is not only Lustre problem, I believe same problem will happen with GFS or OCFS2 or whatever other SAN-based fs if different nodes have different device names (/dev/sda | /dev/sdb) for same SAN device, in such a case fsid calculated would be different on different nodes too. I wonder if e.g. another export op could be introduced to ask filesystem for its unique id (if supported) and use that instead of sb->s_dev in fsid calculations. Does this look sane? I hope I am not missing anything? Or are there better ideas? Thanks. Bye, Oleg