richardphibel / rpms / systemd

Forked from rpms/systemd 2 years ago
Clone
698723
From 3299c855c6e65596ff9d8635dcbd45ff6818499a Mon Sep 17 00:00:00 2001
698723
From: Kairui Song <kasong@redhat.com>
698723
Date: Thu, 14 Jan 2021 00:39:10 +0800
698723
Subject: [PATCH] initrd: do a debug log if failed to detect rootfs type
698723
698723
(cherry picked from commit 3377c740d9121f38385e70d6a380b5e4bd8c672a)
698723
698723
Related: #1959339
698723
---
698723
 src/basic/util.c | 12 ++++++++++--
698723
 1 file changed, 10 insertions(+), 2 deletions(-)
698723
698723
diff --git a/src/basic/util.c b/src/basic/util.c
698723
index 59bcf7b00c..fef52ad5ff 100644
698723
--- a/src/basic/util.c
698723
+++ b/src/basic/util.c
698723
@@ -166,8 +166,16 @@ bool in_initrd(void) {
698723
                 }
698723
         }
698723
 
698723
-        saved_in_initrd = (lenient || path_is_temporary_fs("/") > 0) &&
698723
-                          access("/etc/initrd-release", F_OK) >= 0;
698723
+        if (!lenient) {
698723
+                r = path_is_temporary_fs("/");
698723
+                if (r < 0)
698723
+                        log_debug_errno(r, "Couldn't determine if / is a temporary file system: %m");
698723
+
698723
+                saved_in_initrd = r > 0;
698723
+        }
698723
+
698723
+        if (saved_in_initrd != 0)
698723
+                saved_in_initrd = access("/etc/initrd-release", F_OK) >= 0;
698723
 
698723
         return saved_in_initrd;
698723
 }