chiark / gitweb /
install: various improvements
[elogind.git] / src / util.c
index 2e5827f32dcf3671a26545d5250312e265bcb8c3..7f5fa05dca4d1beb15da5b82db6a6792198dec9b 100644 (file)
@@ -2825,6 +2825,25 @@ int columns(void) {
         return parsed_columns;
 }
 
+int running_in_chroot(void) {
+        struct stat a, b;
+
+        zero(a);
+        zero(b);
+
+        /* Only works as root */
+
+        if (stat("/proc/1/root", &a) < 0)
+                return -errno;
+
+        if (stat("/", &b) < 0)
+                return -errno;
+
+        return
+                a.st_dev != b.st_dev ||
+                a.st_ino != b.st_ino;
+}
+
 static const char *const ioprio_class_table[] = {
         [IOPRIO_CLASS_NONE] = "none",
         [IOPRIO_CLASS_RT] = "realtime",