Dirk Mueller
6be7187d97
- detect os on default subvolume in snapshot (bsc#954225) (os-prober-btrfs-snapshot-detection.patch) OBS-URL: https://build.opensuse.org/request/show/343150 OBS-URL: https://build.opensuse.org/package/show/Base:System/os-prober?expand=0&rev=62
32 lines
1.4 KiB
Diff
32 lines
1.4 KiB
Diff
Index: os-prober/os-probes/common/50mounted-tests
|
|
===================================================================
|
|
--- os-prober.orig/os-probes/common/50mounted-tests
|
|
+++ os-prober/os-probes/common/50mounted-tests
|
|
@@ -115,6 +115,7 @@ if [ "$types" = btrfs ]; then
|
|
subvols=$(btrfs subvolume list -a "$tmpmnt" | cut -d ' ' -f 9 | sed -e s!^\<FS_TREE\>/!!)
|
|
rosubvols=$(btrfs subvolume list -r -a "$tmpmnt" | cut -d ' ' -f 9 | sed -e s!^\<FS_TREE\>/!!)
|
|
sssubvols=$(btrfs subvolume list -s -a "$tmpmnt" | cut -d ' ' -f 14 | sed -e s!^\<FS_TREE\>/!!)
|
|
+ defaultvol=$(btrfs subvolume get-default "$tmpmnt" | cut -d ' ' -f 9)
|
|
if ! umount "$tmpmnt"; then
|
|
warn "failed to umount btrfs volume on $tmpmnt"
|
|
rmdir "$tmpmnt" || true
|
|
@@ -127,11 +128,13 @@ if [ "$types" = btrfs ]; then
|
|
found=
|
|
for subvol in $subvols; do
|
|
debug "begin btrfs processing for $UUID subvol=$subvol"
|
|
- if echo "$rosubvols" | grep -q -x "$subvol"; then
|
|
- continue
|
|
- fi
|
|
- if echo "$sssubvols" | grep -q -x "$subvol"; then
|
|
- continue
|
|
+ if [ "$subvol" != "$defaultvol" ]; then
|
|
+ if echo "$rosubvols" | grep -q -x "$subvol"; then
|
|
+ continue
|
|
+ fi
|
|
+ if echo "$sssubvols" | grep -q -x "$subvol"; then
|
|
+ continue
|
|
+ fi
|
|
fi
|
|
mounted=
|
|
mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | grep "/$subvol " | cut -d ' ' -f 5)"
|