Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:47805 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1759698Ab1CDQV4 (ORCPT ); Fri, 4 Mar 2011 11:21:56 -0500 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p24GLuO4025876 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 4 Mar 2011 11:21:56 -0500 Message-ID: <4D7111A2.9050700@RedHat.com> Date: Fri, 04 Mar 2011 11:21:54 -0500 From: Steve Dickson To: Masatake YAMATO CC: linux-nfs@vger.kernel.org Subject: Re: [PATCH 1/2] Read /etc/exports.d/*.export as extra export files References: <20110217.215900.388120588347145930.yamato@redhat.com> <20110303.230122.1012453714437438591.yamato@redhat.com> <4D6FFF80.6030102@RedHat.com> <20110304.151026.946624858093159104.yamato@redhat.com> In-Reply-To: <20110304.151026.946624858093159104.yamato@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-nfs-owner@vger.kernel.org List-ID: MIME-Version: 1.0 On 03/04/2011 01:10 AM, Masatake YAMATO wrote: > Hi, > > thank you for replying. Again.. my apologies for taking so long... > >> On 03/03/2011 09:01 AM, Masatake YAMATO wrote: >>> No comment? >> Sorry about that... I was traveling for the couple weeks... >> >> Would you happen to have an example script on how >> this new feature would be used? I just want to run >> some quick tests... >> >> tia, >> >> steved. > > Could you try following one? > > # cd /tmp > # mkdir /tmp/alpha > # mkdir /tmp/beta > # mkdir /etc/exports.d > # mkdir /etc/exports.d > # echo '/tmp/alpha *(ro)' > /etc/exports.d/alpha.export > # echo '/tmp/beta *(ro)' > /etc/exports.d/beta.export > # /etc/init.d nfs restart > > After above setting up, when you do `exportfs', following lines > may be included in the output: > > /tmp/alpha > /tmp/beta Question... Where is the race? Meaning who is reading the exports file while its being modified? The reason I ask is exporting (or re-exporting) pretty serial: exportfs read /etc/exports exportfs writes the new exports to /var/lib/nfs/etab mountd notices etab has changed and rereads its. mountd flush the kernel cache cause the kernel to do upcalls to get the new exports. So since exportfs command not a daemon I don't see why cp exports.new /etc/exports && exportfs -arv isn't all that is needed. What am I missing? steved.