From owner-freebsd-fs@FreeBSD.ORG Wed Mar 23 06:38:06 2011 Return-Path: Delivered-To: freebsd-fs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C85371065698 for ; Wed, 23 Mar 2011 06:38:06 +0000 (UTC) (envelope-from jdc@koitsu.dyndns.org) Received: from qmta11.emeryville.ca.mail.comcast.net (qmta11.emeryville.ca.mail.comcast.net [76.96.27.211]) by mx1.freebsd.org (Postfix) with ESMTP id AD5558FC15 for ; Wed, 23 Mar 2011 06:38:06 +0000 (UTC) Received: from omta16.emeryville.ca.mail.comcast.net ([76.96.30.72]) by qmta11.emeryville.ca.mail.comcast.net with comcast id NWWU1g0061ZMdJ4ABWe6Z3; Wed, 23 Mar 2011 06:38:06 +0000 Received: from koitsu.dyndns.org ([67.180.84.87]) by omta16.emeryville.ca.mail.comcast.net with comcast id NWe51g0011t3BNj8cWe50g; Wed, 23 Mar 2011 06:38:05 +0000 Received: by icarus.home.lan (Postfix, from userid 1000) id 0B1829B422; Tue, 22 Mar 2011 23:38:05 -0700 (PDT) Date: Tue, 22 Mar 2011 23:38:05 -0700 From: Jeremy Chadwick To: Lawrence Stewart Message-ID: <20110323063805.GA75312@icarus.home.lan> References: <4D8989A5.1020203@swin.edu.au> <20110323061641.GA74977@icarus.home.lan> <4D899368.9090709@swin.edu.au> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4D899368.9090709@swin.edu.au> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: freebsd-fs@freebsd.org Subject: Re: mount -o union doesn't allow changes to sub directories? X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2011 06:38:06 -0000 On Wed, Mar 23, 2011 at 05:30:00PM +1100, Lawrence Stewart wrote: > Hi Jeremy, > > On 03/23/11 17:16, Jeremy Chadwick wrote: > > On Wed, Mar 23, 2011 at 04:48:21PM +1100, Lawrence Stewart wrote: > >> Hi again, > >> > >> If I run something like: > >> > >> mount -o union /dev/md0 /etc > >> > >> where md0 is a memory backed fs device, and /etc is fully populated but > >> mounted RO off a CD, I can touch a new file in /etc, but can't in any > >> subdir of etc (fails with "Read-only filesystem" reported). > >> > >> As far as I can tell this is a bug, but wanted to check if I'm > >> misunderstanding how the "-o union" mount option is supposed to work. > > > > Please see mount_unionfs(8), specifically the explanations of "lower" > > and "upper" layers, along with EROFS (errno 30, "Read-only filesystem"). > > I don't think 'mount -o union' is the same thing as doing a unionfs > mount. Earlier today I was playing with unionfs and it worked perfectly > for the scenario I describe above. 'mount -o union' seems to do > something similar, but subtly different to unionfs. > > The key difference from the UI perspective is that unionfs can be used > to mount a directory on top of another directory, whereas using 'mount > -o union' requires you to mount a device with an fs on it on top of a > directory. > > The semantics of 'mount -o union' are far more useful for my situation > that unionfs, so I'm keen to try and see if I can get it working > properly, which I suspect will involve a kernel patch. You're right -- MNT_UNION (which is what -o mount makes use of) is different than UNIONFS. How this plays with the kernel is unknown to me (I've skimmed the code, it's over my head since it's VFS). -- | Jeremy Chadwick jdc@parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP 4BD6C0CB |