From mboxrd@z Thu Jan 1 00:00:00 1970 From: "John T. Kohl" Subject: Re: [RFC] Support for stackable file systems on top of nfs Date: Mon, 14 Nov 2005 11:11:10 -0500 Message-ID: <200511141611.jAEGBAZ8024083@sumu.lexma.ibm.com> References: Cc: Trond Myklebust , dhowells@redhat.com, nfsv4@linux-nfs.org, Charles Wright , linux-fsdevel@vger.kernel.org Return-path: Received: from e4.ny.us.ibm.com ([32.97.182.144]:11492 "EHLO e4.ny.us.ibm.com") by vger.kernel.org with ESMTP id S1751174AbVKNQLO (ORCPT ); Mon, 14 Nov 2005 11:11:14 -0500 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id jAEGBDYN009109 for ; Mon, 14 Nov 2005 11:11:13 -0500 Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay04.pok.ibm.com (8.12.10/NCO/VERS6.8) with ESMTP id jAEGBD4S076398 for ; Mon, 14 Nov 2005 11:11:13 -0500 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.12.11/8.13.3) with ESMTP id jAEGBCQo029049 for ; Mon, 14 Nov 2005 11:11:13 -0500 To: kolya@cs.sunysb.edu Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org >>>>> "Nikolai" == Nikolai Joukov writes: Nikolai> Here is a kludge that works in many cases: Nikolai> int stackable_readpage(file_t *file, page_t *page) Nikolai> { Nikolai> ... Nikolai> page->mapping = lower_inode->i_mapping; Nikolai> err = lower_inode->i_mapping->a_ops->readpage(lower_file, page); Nikolai> page->mapping = inode->i_mapping; Nikolai> ... Nikolai> } What are the locking requirements to do this safely? Are the proper locks held (or safely grabbable during readpage()) to avoid a race with another paging operation? I see a troubling comment in do_generic_mapping_read(): /* ... and start the actual read. The read will unlock the page. */ error = mapping->a_ops->readpage(filp, page); but I've not studied the page locking design to know for sure that this example is race-free. -- John Kohl Senior Software Engineer Rational Software IBM Software Group Lexington, Massachusetts, USA jtk@us.ibm.com The opinions expressed in this message do not reflect the views of my employer.