]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
initrd: do a debug log if /etc/initrd-release doesn't take effect 18124/head
authorKairui Song <kasong@redhat.com>
Wed, 13 Jan 2021 17:25:20 +0000 (01:25 +0800)
committerKairui Song <kasong@redhat.com>
Thu, 14 Jan 2021 13:51:12 +0000 (21:51 +0800)
Signed-off-by: Kairui Song <kasong@redhat.com>
src/basic/util.c

index 2e6820a63b21db3b2a983b23f52d47e1fab43a5c..d24d52190cd08dc89efcfdda52c25ac482bd2a92 100644 (file)
@@ -96,8 +96,17 @@ bool in_initrd(void) {
                 saved_in_initrd = r > 0;
         }
 
-        if (saved_in_initrd != 0)
-                saved_in_initrd = access("/etc/initrd-release", F_OK) >= 0;
+        r = access("/etc/initrd-release", F_OK);
+        if (r >= 0) {
+                if (saved_in_initrd == 0)
+                        log_debug("/etc/initrd-release exists, but it's not an initrd.");
+                else
+                        saved_in_initrd = 1;
+        } else {
+                if (errno != ENOENT)
+                        log_debug_errno(errno, "Failed to test if /etc/initrd-release exists: %m");
+                saved_in_initrd = 0;
+        }
 
         return saved_in_initrd;
 }