linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: Cant mount multi-subvolume via fstab
Date: Sat, 26 May 2012 07:32:14 +0000 (UTC)	[thread overview]
Message-ID: <pan.2012.05.26.07.32.14@cox.net> (raw)
In-Reply-To: 20120524233315.GA2838@matrix

Rogerio Bastos posted on Thu, 24 May 2012 20:33:16 -0300 as excerpted:

> On Wed, May 23, 2012 at 07:31:49PM +0200, Goffredo Baroncelli wrote:
>> Hi Rogerio,
>> 
>> On 05/23/2012 05:00 PM, Rogerio Bastos wrote:
>> > Hi,
>> > 
>> > I'm trying mount many subvolume during boot via fstab:
>> > 
>> > UUID=xxx /usr btrfs subvol=usr,ro,nodev 0 0 UUID=xxx /home btrfs
>> > subvol=home,nodev,nosuid 0 0 UUID=xxx /var btrfs subvol=var,nodev 0 0
>> > UUID=xxx /var/tmp btrfs subvol=var-tmp,nodev,noexec,nosuid 0 0
>> > 
>> > But only the first one is mounted. When try to mount the others
>> > subvolumes, I get this error:
>> 
>> I did some tests. It seems that the problem is that you want to mount
>> different subvolumes *of the same filesystem* (/dev/sda3) both in RO
>> (first entry) and RW (the other entries).
>> 
>> Please try to removing the 'RO' for the first entry, and let know us
>> what happens.
> 
> You are right, without RO I can mount all subvolume.

If you need the different rw/ro mounts you can use mount --bind.  There's 
a bit of a catch, however, in that an initial mount --bind will always 
have the same ro/rw as the original mount.  You thus have to mount it 
with a mount-bind, then do a remount, to change that.

I do something similar here, not with btrfs (which I tried but had 
problems with, I'll let it mature a few kernels and try again) but with 
some mount-binds into a chroot, before I start the app (named aka bind) I 
run in it.

My fstab has entries like this:

/etc/bind  /m/cbind/etc/bind  none  bind,ro,noexec,nodev,noatime  0 0
/var/bind  /m/cbind/var/bind  none  bind,rw,noexec,nodev,noatime  0 0

But they're on the same source filesystem so the mount -a mounts them 
both the same (rw in my case).  I thus have an initscript "stub" that 
runs between the localmount initscript and the named/bind initscript, 
that does a mount -o,remount.  Since they're setup with the correct 
options in fstab and the initial mount simply ignores them, a simple 
remount gives me the correct options, with ro/rw now kernel enforced.

So while a direct btrfs subvolume mount won't track ro/rw separately, a 
mount-bind, followed by an appropriate remount, should.

But I'd not try that for btrfs specific mount options, autodefrag, 
nodatacow, etc, as I'm not sure how btrfs would react to that.  Just 
generic options such as rw/rw, exec/noexec, etc, which I believe are 
enforced at the block layer, not the filesystem layer itself.

See the mount (8) manpage for more on bind-mounts.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


      reply	other threads:[~2012-05-26  7:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-23 15:00 Cant mount multi-subvolume via fstab Rogerio Bastos
2012-05-23 15:33 ` Hugo Mills
2012-05-23 16:24   ` ROGERIO DE CARVALHO BASTOS
2012-05-23 17:31 ` Goffredo Baroncelli
2012-05-24 23:33   ` Rogerio Bastos
2012-05-26  7:32     ` Duncan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=pan.2012.05.26.07.32.14@cox.net \
    --to=1i5t5.duncan@cox.net \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).