Sophie

Sophie

distrib > Mageia > 9 > aarch64 > by-pkgid > 4059bfc13bd9ebd7ee31e446c4da4903 > files > 19

os-prober-1.81-2.mga9.src.rpm

Index: os-prober-1.76/os-probes/common/50mounted-tests
===================================================================
--- os-prober-1.76.orig/os-probes/common/50mounted-tests
+++ os-prober-1.76/os-probes/common/50mounted-tests
@@ -65,10 +65,40 @@ fi
 
 mounted=
 
+if [ "$types" = btrfs ]; then
+	partition="$BTRFSDEV"
+fi
+
+if type grub2-mount >/dev/null 2>&1 && \
+   type grub2-probe >/dev/null 2>&1 && \
+   grub2-mount "$partition" "$tmpmnt" 2>/dev/null; then
+	mounted=1
+	type="$(grub2-probe -d "$partition" -t fs)" || true
+	if [ "$type" ]; then
+		debug "mounted using GRUB $type filesystem driver"
+	else
+		debug "mounted using GRUB, but unknown filesystem?"
+		type=fuseblk
+	fi
+fi
+
+if [ "$mounted" ]; then
+	for test in /usr/lib/os-probes/mounted/*; do
+		debug "running subtest $test"
+		if [ -f "$test" ] && [ -x "$test" ]; then
+			if "$test" "$partition" "$tmpmnt" "$type"; then
+				debug "os found by subtest $test"
+				do_unmount
+				exit 0
+			fi
+		fi
+	done
+fi
+do_unmount
+
 # all btrfs processing here.  Handle both unmounted and
 # mounted subvolumes.
 if [ "$types" = btrfs ]; then
-	partition="$BTRFSDEV"
 	debug "begin btrfs processing for $UUID"
 	# note that the btrfs volume must not be mounted ro
 	if mount -t btrfs -U "$UUID" "$tmpmnt"  2>/dev/null; then
@@ -129,37 +159,8 @@ if [ "$types" = btrfs ]; then
 	rmdir "$tmpmnt" || true
 	if [ "$found" ]; then
 		exit 0
-	else
-		exit 1
-	fi
-fi
-
-if type grub-mount >/dev/null 2>&1 && \
-   type grub-probe >/dev/null 2>&1 && \
-   grub-mount "$partition" "$tmpmnt" 2>/dev/null; then
-	mounted=1
-	type="$(grub-probe -d "$partition" -t fs)" || true
-	if [ "$type" ]; then
-		debug "mounted using GRUB $type filesystem driver"
-	else
-		debug "mounted using GRUB, but unknown filesystem?"
-		type=fuseblk
 	fi
 fi
 
-if [ "$mounted" ]; then
-	for test in /usr/lib/os-probes/mounted/*; do
-		debug "running subtest $test"
-		if [ -f "$test" ] && [ -x "$test" ]; then
-			if "$test" "$partition" "$tmpmnt" "$type"; then
-				debug "os found by subtest $test"
-				do_unmount
-				exit 0
-			fi
-		fi
-	done
-fi
-do_unmount
-
 # No tests found anything.
 exit 1