From: "Goffredo Baroncelli <kreijack@libero.it>" <kreijack@libero.it>
To: <lists@colorremedies.com>, Linux Btrfs <linux-btrfs@vger.kernel.org>
Subject: R: Re: Question about btrfs as root filesystem
Date: Fri, 8 Nov 2013 13:55:06 +0100 (CET) [thread overview]
Message-ID: <29341211.3154771383915306434.JavaMail.defaultUser@defaultHost> (raw)
In-Reply-To: <5eb6a9cbd3a163b70c9cfe4a1b46a1fa@myjm.de>
>On Nov 7, 2013, at 4:45 PM, Michael Göhler <visit@myjm.de> wrote:
>> The boot subvolume is then set with 'btrfs subvolume set-default' and
mounted without subvol/subvolid option by Arch's default mount handler.
>
>I'm unconvinced it's a good idea for it to be used behind the scenes
> for the described purpose. Consider the following:
>
>1. btrfs subvolume set-default uses a user space tool and in
> my view it's primarily a user domain behavior modifier for the mount
command.
>
>2. It makes the actual mounted subvolume obscured, cat /proc/self/mountinfo
> doesn't show what subvolume is mounted unless subvol= is explicitly used in
/etc/fstab.
>
>3. Grub2 (and I'm pretty sure grubby) do not use the set-default. The GRUB
> intent for the prefix to search an absolute path, not one relative to the
> default subvolume. There's a bug that should very recently (week) be fixed,
> where GRUB fails to find prefix if set-default is changed. This maybe isn't
> affecting the particular layout you describe where only rootfs is on btrfs,
> rather than /boot being on its own subvolume.
>
Instead of using set-default, I am used to rename the subvolume.
I.E. I assume that the root filesystem is a subvolume always called
"__active".
When I want to rollback, I rename "__active" in "__broken" (or
remove it), then I rename (or re-snapshot) "snapshot-yyyymmdd"
in "__active".
>> That way, we ensure the best compatibility and lowest maintenance,
> as we don't overwrite default init functions.
>
>I'm sympathetic to the alternative problem, which is that you need to
> alter grub.cfg to use the proper rootflags=subvol= to explicitly use the
> proper snapshot, and also it would mean altering the /etc/fstab within
> that snapshot.
With rename you can address both the issues
>>
>> Now, if we snapshots the root subvolume, the child subvolumes are
>> not snapshoted with it. There is no back reference which would
>> allow Btrfs to auto-mount the original child subvolumes when we
>> mount the snapshot as new root filesystem. Of cause we could
>> snapshot the childs separately into their desired directories. But
>> this would not help, because our hook snapshots the snapshot again,
>> to keep it's original untouched while rolling back.
>> And we don't have fstab to find out the correct mount points at this early
boot stage.
>
>The fact of the matter is, we don't have the necessary metadata support in
> btrfs to understand the relationships between snapshots/subvolumes.
> There is a need for this, not least of which is the use case you're
> describing. This has come up with Fedora also for their offline
> updates rollback they want to eventually do. And it's also an issue
> with distribution installers which see these snapshots as wholly
> unique instances of existing installations, rather than as related
snapshots.
>
>
>>
>> Atm. all scenarios results in /usr/bin/init not found.
>>
>> So here comes my question:
>> Wouldn't it be helpful to add a --recursive option to 'btrfs subvolume
>> snapshot' to snapshot child subvolumes together with their parent?
>> Or maybe it is possible to add some functionality to reference the
>> child subvolumes on the snapshots fs-tree to allow auto-mounting?
>
> Well and it raises the problem of nested subvolumes making the parent
> subvolume undeletable. So I'd question the significant benefit of
> making nested subvolume in particular /var. It's complicating
> how the OS is to be put back together again.
IIRC the problem of removing a subvolume with a child subvolume,
already exists. IMHO the "btrfs sub snapshot" --recursive option
could have some valid uses cases. Of course we should add the
"btrfs sub delete" --recursive option also.
BTW I agree with Chris that partition the filesystem in too much
subvolume is a mess from a managemente POV. May be
adding an option to "ls" to highlight the subvolumes could
alleviate the problem ?
G.Baroncelli
>
>
>Chris Murphy--
>To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
>the body of a message to majordomo@vger.kernel.org
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-
next prev parent reply other threads:[~2013-11-08 12:55 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-07 23:45 Question about btrfs as root filesystem Michael Göhler
2013-11-08 1:33 ` Chris Murphy
2013-11-08 13:41 ` Michael Göhler
2013-11-08 19:30 ` Chris Murphy
2013-11-08 9:39 ` Duncan
2013-11-08 12:55 ` Goffredo Baroncelli <kreijack@libero.it> [this message]
2013-11-08 17:44 ` Chris Murphy
2013-11-08 17:59 ` Goffredo Baroncelli
2013-11-08 19:43 ` Chris Murphy
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=29341211.3154771383915306434.JavaMail.defaultUser@defaultHost \
--to=kreijack@libero.it \
--cc=linux-btrfs@vger.kernel.org \
--cc=lists@colorremedies.com \
/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).