shutdown: remove explicit sync() invocations

The kernel implicitly does sync() anyway, hence there is no need to do
that in userspace explicitly. This makes the "-n" switch to halt(8) a
noop.
This commit is contained in:
Lennart Poettering 2012-09-05 15:32:57 -07:00
parent 3eabccc46c
commit 57371e5829
3 changed files with 1 additions and 21 deletions

View File

@ -135,15 +135,6 @@
shutdown entry.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>-n</option></term>
<term><option>--no-sync</option></term>
<listitem><para>Don't sync hard disks/storage media before
halt, power-off,
reboot.</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--no-wall</option></term>

View File

@ -279,8 +279,6 @@ int main(int argc, char *argv[]) {
}
}
sync();
if (cmd == LINUX_REBOOT_CMD_KEXEC) {
/* We cheat and exec kexec to avoid doing all its work */
pid_t pid = fork();

View File

@ -74,7 +74,6 @@ static bool arg_no_block = false;
static bool arg_no_legend = false;
static bool arg_no_pager = false;
static bool arg_no_wtmp = false;
static bool arg_no_sync = false;
static bool arg_no_wall = false;
static bool arg_no_reload = false;
static bool arg_dry = false;
@ -3949,7 +3948,6 @@ static int halt_help(void) {
" -f --force Force immediate halt/power-off/reboot\n"
" -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record\n"
" -d --no-wtmp Don't write wtmp record\n"
" -n --no-sync Don't sync before halt/power-off/reboot\n"
" --no-wall Don't send wall message before halt/power-off/reboot\n",
program_invocation_short_name,
arg_action == ACTION_REBOOT ? "Reboot" :
@ -4271,7 +4269,6 @@ static int halt_parse_argv(int argc, char *argv[]) {
{ "force", no_argument, NULL, 'f' },
{ "wtmp-only", no_argument, NULL, 'w' },
{ "no-wtmp", no_argument, NULL, 'd' },
{ "no-sync", no_argument, NULL, 'n' },
{ "no-wall", no_argument, NULL, ARG_NO_WALL },
{ NULL, 0, NULL, 0 }
};
@ -4317,16 +4314,13 @@ static int halt_parse_argv(int argc, char *argv[]) {
arg_no_wtmp = true;
break;
case 'n':
arg_no_sync = true;
break;
case ARG_NO_WALL:
arg_no_wall = true;
break;
case 'i':
case 'h':
case 'n':
/* Compatibility nops */
break;
@ -5168,9 +5162,6 @@ static int halt_main(DBusConnection *bus) {
}
}
if (!arg_no_sync)
sync();
if (arg_dry)
return 0;