41 lines
1.3 KiB
Diff
41 lines
1.3 KiB
Diff
From eb45d0add7cf2918f838bec2d93d99cf2d9c662f Mon Sep 17 00:00:00 2001
|
|
From: NeilBrown <neilb@suse.de>
|
|
Date: Mon, 13 Mar 2023 14:42:58 +1100
|
|
Subject: [PATCH] Use existence of /etc/initrd-release to detect initrd.
|
|
|
|
Since v183, systemd has used the existence of /etc/initrd-release to
|
|
detect if it is running in an initrd, rather than looking at the magic
|
|
number of the root filesystem's device. It is time for mdadm to do the
|
|
same.
|
|
|
|
Signed-off-by: NeilBrown <neilb@suse.de>
|
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
|
---
|
|
util.c | 10 +---------
|
|
1 file changed, 1 insertion(+), 9 deletions(-)
|
|
|
|
diff --git a/util.c b/util.c
|
|
index 9f1e1f7..509fb43 100644
|
|
--- a/util.c
|
|
+++ b/util.c
|
|
@@ -2227,15 +2227,7 @@ int continue_via_systemd(char *devnm, char *service_name)
|
|
|
|
int in_initrd(void)
|
|
{
|
|
- /* This is based on similar function in systemd. */
|
|
- struct statfs s;
|
|
- /* statfs.f_type is signed long on s390x and MIPS, causing all
|
|
- sorts of sign extension problems with RAMFS_MAGIC being
|
|
- defined as 0x858458f6 */
|
|
- return statfs("/", &s) >= 0 &&
|
|
- ((unsigned long)s.f_type == TMPFS_MAGIC ||
|
|
- ((unsigned long)s.f_type & 0xFFFFFFFFUL) ==
|
|
- ((unsigned long)RAMFS_MAGIC & 0xFFFFFFFFUL));
|
|
+ return access("/etc/initrd-release", F_OK) >= 0;
|
|
}
|
|
|
|
void reopen_mddev(int mdfd)
|
|
--
|
|
2.35.3
|
|
|