From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Hellwig Subject: Re: [RFC] Support for stackable file systems on top of nfs Date: Thu, 10 Nov 2005 21:50:59 +0000 Message-ID: <20051110215059.GA25248@infradead.org> References: <1131643942.9389.17.camel@kleikamp.austin.ibm.com> <20051110200741.GA23192@infradead.org> <200511102135.jAALZlfS016100@sumu.lexma.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: fsdevel , nfsv4 Return-path: To: "John T. Kohl" Content-Disposition: inline In-Reply-To: <200511102135.jAALZlfS016100@sumu.lexma.ibm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: nfsv4-bounces@linux-nfs.org Errors-To: nfsv4-bounces@linux-nfs.org List-Id: linux-fsdevel.vger.kernel.org On Thu, Nov 10, 2005 at 04:35:47PM -0500, John T. Kohl wrote: > Let me explain a bit more what's going on here. MVFS would like to do > the same thing that CODA does. In the file->mmap() operation, CODA and > MVFS want to set up paging operations to be handled by the backing store > inode. See for example fs/coda/file.c:coda_file_mmap(), it sets > coda_inode->i_mapping = host_inode->i_mapping. > > But this fails when host_inode is an NFS inode. NFS assumes > that when it gets paging operations, it can look at the file pointer > passed to the address_space_operations' readpage function, and that file > pointer will be for an open NFS file. If NFS is a backing store inode, > the file pointer is for the stacked file system's open file. > > CODA certainly won't work today with NFS host inodes and mapped files. > I'm not surprised nobody noticed, since that seems like a poor way to > use CODA. Using NFS backing store is a primary use case for ClearCase > MVFS, so we noticed. so coda is broken aswell, news at 11 ;-) when a file operation takes a stuct file, directly or indirecly you absolutely must pass down a stuct file of that filesystem. so wrap your address operations and pass down the proper nfs file stuct.