chiark / gitweb /
service: add options RestartPreventExitStatus and SuccessExitStatus
[elogind.git] / src / remount-fs / remount-fs.c
index 35b71548a30d88a046424c779e495b58f504920f..b49d095cbb402ea0fbb25909663db45058a8e09c 100644 (file)
@@ -29,6 +29,7 @@
 
 #include "log.h"
 #include "util.h"
+#include "path-util.h"
 #include "set.h"
 #include "mount-setup.h"
 #include "exit-status.h"
@@ -78,9 +79,10 @@ int main(int argc, char *argv[]) {
                 int k;
                 char *s;
 
-                /* Remount the root fs and all API VFS */
+                /* Remount the root fs, /usr and all API VFS */
                 if (!mount_point_is_api(me->mnt_dir) &&
-                    !path_equal(me->mnt_dir, "/"))
+                    !path_equal(me->mnt_dir, "/") &&
+                    !path_equal(me->mnt_dir, "/usr"))
                         continue;
 
                 log_debug("Remounting %s", me->mnt_dir);
@@ -112,7 +114,7 @@ int main(int argc, char *argv[]) {
 
                 s = strdup(me->mnt_dir);
                 if (!s) {
-                        log_error("Out of memory.");
+                        log_oom();
                         ret = EXIT_FAILURE;
                         continue;
                 }
@@ -143,7 +145,7 @@ int main(int argc, char *argv[]) {
 
                 s = hashmap_remove(pids, UINT_TO_PTR(si.si_pid));
                 if (s) {
-                        if (!is_clean_exit(si.si_code, si.si_status)) {
+                        if (!is_clean_exit(si.si_code, si.si_status, NULL)) {
                                 if (si.si_code == CLD_EXITED)
                                         log_error("/bin/mount for %s exited with exit status %i.", s, si.si_status);
                                 else