>On Nov 7, 2013, at 4:45 PM, Michael Göhler <vi...@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 majord...@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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to