From mboxrd@z Thu Jan 1 00:00:00 1970 From: Trond Myklebust Subject: Re: [PATCH 0/5] hybrid union filesystem prototype Date: Tue, 31 Aug 2010 16:19:47 -0400 Message-ID: <1283285987.7914.9.camel@heimdal.trondhjem.org> References: <20100826183340.027591901@szeredi.hu> <20100827170551.19616048@notabene> <20100827213502.31af4a4c@notabene> <20100829144207.4fbf2713@notabene> <20100830214027.77e197f5@notabene> <20100831191846.GA5759@shell> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Cc: Miklos Szeredi , "J. Bruce Fields" , Neil Brown , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, viro@zeniv.linux.org.uk, jblunck@suse.de, hch@infradead.org To: Valerie Aurora Return-path: In-Reply-To: <20100831191846.GA5759@shell> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, 2010-08-31 at 15:18 -0400, Valerie Aurora wrote: > On Mon, Aug 30, 2010 at 02:20:47PM +0200, Miklos Szeredi wrote: > > On Mon, 30 Aug 2010, Neil Brown wrote: > > > > > Val has been following that approach and asking if it is possible to make an > > > NFS filesystem really-truly read-only. i.e. no changes. > > > I don't believe it is. > > > > Perhaps it doesn't matter. The nasty cases can be prevented by just > > disallowing local modification. For the rest NFS will return ESTALE: > > "though luck, why didn't you follow the rules?" > > I agree: Ask the server to keep it read-only, but also detect if it > lied to prevent kernel bugs on the client. > > Is detecting ESTALE and failing the mount sufficient to detect all > cases of a cached directory being altered? No. Files can be altered without being unlinked. > I keep trying to trap an > NFS developer and beat the answer out of him but they usually get hung > up on the impossibility of 100% enforcement of the read-only server > option. (Agreed, impossible, just give the sysadmin a mount option so > that it doesn't happen accidentally.) Remind me again why mounting the filesystem '-oro' on the server (and possibly exporting it 'ro') isn't an option? Trond