chiark / gitweb /
man: link in API FS documentation from the wiki
[elogind.git] / src / core / shutdown.c
index b59aef174f14f1fd82e2069a0f406ebd43d46551..0b0e0c3d476c3d10c74ce0044706adf1c291195e 100644 (file)
@@ -197,31 +197,34 @@ int main(int argc, char *argv[]) {
                 if (need_umount) {
                         log_info("Unmounting file systems.");
                         r = umount_all(&changed);
-                        if (r == 0)
+                        if (r == 0) {
                                 need_umount = false;
-                        else if (r > 0)
+                                log_info("All filesystems unmounted.");
+                        } else if (r > 0)
                                 log_info("Not all file systems unmounted, %d left.", r);
                         else
                                 log_error("Failed to unmount file systems: %s", strerror(-r));
                 }
 
                 if (need_swapoff) {
-                        log_info("Disabling swaps.");
+                        log_info("Deactivating swaps.");
                         r = swapoff_all(&changed);
-                        if (r == 0)
+                        if (r == 0) {
                                 need_swapoff = false;
-                        else if (r > 0)
-                                log_info("Not all swaps are turned off, %d left.", r);
+                                log_info("All swaps deactivated.");
+                        } else if (r > 0)
+                                log_info("Not all swaps deactivated, %d left.", r);
                         else
-                                log_error("Failed to turn off swaps: %s", strerror(-r));
+                                log_error("Failed to deactivate swaps: %s", strerror(-r));
                 }
 
                 if (need_loop_detach) {
                         log_info("Detaching loop devices.");
                         r = loopback_detach_all(&changed);
-                        if (r == 0)
+                        if (r == 0) {
                                 need_loop_detach = false;
-                        else if (r > 0)
+                                log_info("All loop devices detached.");
+                        } else if (r > 0)
                                 log_info("Not all loop devices detached, %d left.", r);
                         else
                                 log_error("Failed to detach loop devices: %s", strerror(-r));
@@ -230,10 +233,11 @@ int main(int argc, char *argv[]) {
                 if (need_dm_detach) {
                         log_info("Detaching DM devices.");
                         r = dm_detach_all(&changed);
-                        if (r == 0)
+                        if (r == 0) {
                                 need_dm_detach = false;
-                        else if (r > 0)
-                                log_warning("Not all DM devices detached, %d left.", r);
+                                log_info("All DM devices detached.");
+                        } else if (r > 0)
+                                log_info("Not all DM devices detached, %d left.", r);
                         else
                                 log_error("Failed to detach DM devices: %s", strerror(-r));
                 }
@@ -263,7 +267,7 @@ int main(int argc, char *argv[]) {
         arguments[2] = NULL;
         execute_directory(SYSTEM_SHUTDOWN_PATH, NULL, arguments);
 
-        if (!in_container &&
+        if (!in_container && !in_initrd() &&
             access("/run/initramfs/shutdown", X_OK) == 0) {
 
                 if (prepare_new_root() >= 0 &&