}
bool in_initrd(void) {
- static bool checked=false;
- static bool is_in_initrd=false;
-
- if (!checked) {
- struct stat sb;
- if (stat("/", &sb) == 0) {
- is_in_initrd = (sb.st_dev == 1);
- checked = true;
- }
- }
+ static int saved = -1;
+
+ if (saved < 0)
+ saved = access("/etc/initrd-release", F_OK) >= 0;
- return is_in_initrd;
+ return saved;
}