f8e000ca22
- Fix btrfs 1.74 regression in detection btrfs, the do_unmount has to be skipped for btrfs as it removes tmp mount point of which btrfs is making use (bsc#1024196) * modify os-prober-btrfs-absolute-subvol.patch * rediff os-prober-btrfs-always-detect-default.patch OBS-URL: https://build.opensuse.org/request/show/461360 OBS-URL: https://build.opensuse.org/package/show/Base:System/os-prober?expand=0&rev=75
42 lines
1.5 KiB
Diff
42 lines
1.5 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
|
|
@@ -72,9 +72,7 @@ mounted=
|
|
|
|
if [ "$types" = btrfs ]; then
|
|
partition="$BTRFSDEV"
|
|
-fi
|
|
-
|
|
-if type grub2-mount >/dev/null 2>&1 && \
|
|
+elif type grub2-mount >/dev/null 2>&1 && \
|
|
type grub2-probe >/dev/null 2>&1 && \
|
|
grub2-mount "$partition" "$tmpmnt" 2>/dev/null; then
|
|
mounted=1
|
|
@@ -110,7 +108,11 @@ if [ "$mounted" ]; then
|
|
fi
|
|
done
|
|
fi
|
|
-do_unmount
|
|
+
|
|
+if [ "$types" != "btrfs" ]; then
|
|
+ do_unmount
|
|
+ exit 1
|
|
+fi
|
|
|
|
# all btrfs processing here. Handle both unmounted and
|
|
# mounted subvolumes.
|
|
@@ -125,9 +127,9 @@ if [ "$types" = btrfs ]; then
|
|
exit 1
|
|
fi
|
|
# besides regular subvols, get ro and snapshot so thet can be excluded
|
|
- subvols=$(btrfs subvolume list "$tmpmnt" | cut -d ' ' -f 9)
|
|
- rosubvols=$(btrfs subvolume list -r "$tmpmnt" | cut -d ' ' -f 9)
|
|
- sssubvols=$(btrfs subvolume list -s "$tmpmnt" | cut -d ' ' -f 14)
|
|
+ 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\>/!!)
|
|
if ! umount "$tmpmnt"; then
|
|
warn "failed to umount btrfs volume on $tmpmnt"
|
|
rmdir "$tmpmnt" || true
|