Originally posted by GreyGeek
View Post
Your snapshots are either usable or not in recovering from the issue. If the issue is recoverable with snapshots that are not stored within @, it's also recoverable with snapshots stored within @ (by mounting with a liveISO, for example). If the issue is catastrophic file system corruption, no snapshot will be usable regardless of where it resides on-disk.
And again...You don't have to have the snapper snapshots stored within @ if you don't wish to, you can have a separate @snaphots subvolume and mount that into @/.snapshots (in which case snapper stores the snapshots in @snapshots and not @), but this makes absolutely no difference in case of file system corruption).
Originally posted by GreyGeek
View Post
Example: the below shows a nested subvolume structure (not done with snapper, but similar):
ID 257 gen 19 top level 5 path @
ID 258 gen 12 top level 5 path @home
ID 259 gen 16 top level 257 path <FS_TREE>/@/.snapshots/snapshot_of_@
The ID 259 subvolume is a snapshot of @ that is in @/.snapshots/ (note the "top level 257" that means it's nested inside ID 257=@ [using the term "inside" loosely here, as it's not actually physically inside @])
I can easily mount that with, for example: "sudo mount -o subvolid=259 /dev/sdb1 /mnt" (no need to mount @ first [or at all], you can use the snapshot directly even if it is nested "inside" @ , and you can also do everything that you could do with it if it was not "inside" @...there is no distinction. snapshots are always individual subvolumes even if they are nested "inside" other subvolumes [like they are if you are using snapper] and you can use them the same way...you can replace @ with it, boot into it, snapshot it, back it up etc.)
---
All the above doesn't mean one or the other (having a flat or nested subvolume structure in a btrfs file system) won't be simpler or easier (like requiring fewer steps), but this of course depends on the issue (and to a point, your preferences). There are pros and cons to either approach (but there really are no "showstopper" issues that would make either preferable in every use case). Your logical chain is "I like to have a flat snapshot subvolume structure, snapper uses a nested subvolume structure, snapper is faulty", but the issues with a nested structure you are describing are not based in reality, and not how nested btrfs snaphots actually work.
Leave a comment: