diff options
author | Harald Hoyer <harald@redhat.com> | 2012-05-16 14:22:40 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-05-21 18:47:39 +0200 |
commit | 9be346c94eab9de0edc30f08b6c6d070c3a17c79 (patch) | |
tree | 6bfc4dcb12616611f9b6b6abdcb0b6df333dcdf9 /src | |
parent | f67cc036ba92a3c71acb664ed2d548de5827cf1f (diff) |
util.c: add in_initrd()
in_initrd() checks, if the stat() for the device for "/" is 1, which it
is for the initramfs.
Diffstat (limited to 'src')
-rw-r--r-- | src/shared/util.c | 15 | ||||
-rw-r--r-- | src/shared/util.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/shared/util.c b/src/shared/util.c index 53185403d6..681484bc0f 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -5639,3 +5639,18 @@ bool is_valid_documentation_url(const char *url) { return false; } + +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; + } + } + + return is_in_initrd; +} diff --git a/src/shared/util.h b/src/shared/util.h index 0af0299dbb..4fccf96a6d 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -512,4 +512,5 @@ int can_sleep(const char *type); bool is_valid_documentation_url(const char *url); +bool in_initrd(void); #endif |