From 7f4b3c5ea39957231839421f2d3a65f5a18e4083 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 27 Oct 2015 00:07:27 +0100 Subject: util-lib: move running_in_chroot() into virt.[ch] It's a very weak kind of virtualization, after all. --- src/basic/util.c | 10 ---------- src/basic/util.h | 2 -- src/basic/virt.c | 11 +++++++++++ src/basic/virt.h | 2 ++ src/systemctl/systemctl.c | 1 + 5 files changed, 14 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/basic/util.c b/src/basic/util.c index 66bb00b982..8c5e88f00c 100644 --- a/src/basic/util.c +++ b/src/basic/util.c @@ -179,16 +179,6 @@ void rename_process(const char name[8]) { } } -int running_in_chroot(void) { - int ret; - - ret = files_same("/proc/1/root", "/"); - if (ret < 0) - return ret; - - return ret == 0; -} - noreturn void freeze(void) { /* Make sure nobody waits for us on a socket anymore */ diff --git a/src/basic/util.h b/src/basic/util.h index 2ebb275494..c3992349df 100644 --- a/src/basic/util.h +++ b/src/basic/util.h @@ -89,8 +89,6 @@ bool fstype_is_network(const char *fstype); assert_message_se((size_t) snprintf(buf, ELEMENTSOF(buf), fmt, __VA_ARGS__) < ELEMENTSOF(buf), \ "xsprintf: " #buf "[] must be big enough") -int running_in_chroot(void); - noreturn void freeze(void); void execute_directories(const char* const* directories, usec_t timeout, char *argv[]); diff --git a/src/basic/virt.c b/src/basic/virt.c index 9076cf618f..19f93b95aa 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -24,6 +24,7 @@ #include #include "fileio.h" +#include "stat-util.h" #include "process-util.h" #include "string-table.h" #include "string-util.h" @@ -412,6 +413,16 @@ int detect_virtualization(void) { return detect_vm(); } +int running_in_chroot(void) { + int ret; + + ret = files_same("/proc/1/root", "/"); + if (ret < 0) + return ret; + + return ret == 0; +} + static const char *const virtualization_table[_VIRTUALIZATION_MAX] = { [VIRTUALIZATION_NONE] = "none", [VIRTUALIZATION_KVM] = "kvm", diff --git a/src/basic/virt.h b/src/basic/virt.h index 449e069901..ed83608019 100644 --- a/src/basic/virt.h +++ b/src/basic/virt.h @@ -67,5 +67,7 @@ int detect_vm(void); int detect_container(void); int detect_virtualization(void); +int running_in_chroot(void); + const char *virtualization_to_string(int v) _const_; int virtualization_from_string(const char *s) _pure_; diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c index 48d17cb52a..2166554f4d 100644 --- a/src/systemctl/systemctl.c +++ b/src/systemctl/systemctl.c @@ -82,6 +82,7 @@ #include "util.h" #include "utmp-wtmp.h" #include "verbs.h" +#include "virt.h" static char **arg_types = NULL; static char **arg_states = NULL; -- cgit v1.2.3-54-g00ecf