chiark / gitweb /
systemctl: when invokes as "reboot -f", sync()
authorLennart Poettering <lennart@poettering.net>
Thu, 6 Nov 2014 14:20:29 +0000 (15:20 +0100)
committerLennart Poettering <lennart@poettering.net>
Thu, 6 Nov 2014 14:20:29 +0000 (15:20 +0100)
We do this in the clean shutdown path in shutdown.c, hence we should do
is for "reboot -f", too.

src/systemctl/systemctl.c

index 8a3e203..d9e9c2a 100644 (file)
@@ -7001,8 +7001,13 @@ done:
 
 static int halt_now(enum action a) {
 
-/* Make sure C-A-D is handled by the kernel from this
-         * point on... */
+        /* The kernel will automaticall flush ATA disks and suchlike
+         * on reboot(), but the file systems need to be synce'd
+         * explicitly in advance. */
+        sync();
+
+        /* Make sure C-A-D is handled by the kernel from this point
+         * on... */
         reboot(RB_ENABLE_CAD);
 
         switch (a) {