From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: + knfsd-exportfs-add-exportfsh-header-fix.patch added to -mm tree Date: Tue, 22 May 2007 10:10:41 +0100 Message-ID: <20070522091041.GA29742@infradead.org> References: <20070516065721.GA9884@lst.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Christoph Hellwig , akpm@linux-foundation.org, hch@infradead.org, linux-fsdevel@vger.kernel.org, neilb@suse.de To: Steven French Return-path: Received: from pentafluge.infradead.org ([213.146.154.40]:58307 "EHLO pentafluge.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755975AbXEVJLI (ORCPT ); Tue, 22 May 2007 05:11:08 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Wed, May 16, 2007 at 09:55:41AM -0500, Steven French wrote: > Any ideas what are the minimum export operation(s) that cifs would need to > add to export under nfsd? It was not clear to me after reading the > Exporting document in Documentation directory. > > (some users had wanted to export files from Windows servers to nfs clients > files by putting an nfs server mounted over cifs in between - I realize > that this can corrupt data due to nfs client caching etc., as even in some > cases could happen if you try to export a cluster file system under nfsd). In current mainline knfsd will let you export a filesystem with no method present at all, but you really need a ->get_parent to not corrupt data once the dcache gets flushed or you reboot. After this patchset you will also need a ->get_dentry instead of the iget fallback before which was the wrong thing for almost every filesystem. Unless you actually have traditional unix filesystem stable 32bit inode numbers and a generation number you will also need a ->decode_fh and ->encode_fh method, but the names and semantics of all these will change with some more patches I have pending. These patches will also document the requirements a little better and enforce stricter checks of the required methods.