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:
parent
3eabccc46c
commit
57371e5829
|
@ -135,15 +135,6 @@
|
||||||
shutdown entry.</para></listitem>
|
shutdown entry.</para></listitem>
|
||||||
</varlistentry>
|
</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>
|
<varlistentry>
|
||||||
<term><option>--no-wall</option></term>
|
<term><option>--no-wall</option></term>
|
||||||
|
|
||||||
|
|
|
@ -279,8 +279,6 @@ int main(int argc, char *argv[]) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sync();
|
|
||||||
|
|
||||||
if (cmd == LINUX_REBOOT_CMD_KEXEC) {
|
if (cmd == LINUX_REBOOT_CMD_KEXEC) {
|
||||||
/* We cheat and exec kexec to avoid doing all its work */
|
/* We cheat and exec kexec to avoid doing all its work */
|
||||||
pid_t pid = fork();
|
pid_t pid = fork();
|
||||||
|
|
|
@ -74,7 +74,6 @@ static bool arg_no_block = false;
|
||||||
static bool arg_no_legend = false;
|
static bool arg_no_legend = false;
|
||||||
static bool arg_no_pager = false;
|
static bool arg_no_pager = false;
|
||||||
static bool arg_no_wtmp = false;
|
static bool arg_no_wtmp = false;
|
||||||
static bool arg_no_sync = false;
|
|
||||||
static bool arg_no_wall = false;
|
static bool arg_no_wall = false;
|
||||||
static bool arg_no_reload = false;
|
static bool arg_no_reload = false;
|
||||||
static bool arg_dry = false;
|
static bool arg_dry = false;
|
||||||
|
@ -3949,7 +3948,6 @@ static int halt_help(void) {
|
||||||
" -f --force Force immediate halt/power-off/reboot\n"
|
" -f --force Force immediate halt/power-off/reboot\n"
|
||||||
" -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record\n"
|
" -w --wtmp-only Don't halt/power-off/reboot, just write wtmp record\n"
|
||||||
" -d --no-wtmp Don't 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",
|
" --no-wall Don't send wall message before halt/power-off/reboot\n",
|
||||||
program_invocation_short_name,
|
program_invocation_short_name,
|
||||||
arg_action == ACTION_REBOOT ? "Reboot" :
|
arg_action == ACTION_REBOOT ? "Reboot" :
|
||||||
|
@ -4271,7 +4269,6 @@ static int halt_parse_argv(int argc, char *argv[]) {
|
||||||
{ "force", no_argument, NULL, 'f' },
|
{ "force", no_argument, NULL, 'f' },
|
||||||
{ "wtmp-only", no_argument, NULL, 'w' },
|
{ "wtmp-only", no_argument, NULL, 'w' },
|
||||||
{ "no-wtmp", no_argument, NULL, 'd' },
|
{ "no-wtmp", no_argument, NULL, 'd' },
|
||||||
{ "no-sync", no_argument, NULL, 'n' },
|
|
||||||
{ "no-wall", no_argument, NULL, ARG_NO_WALL },
|
{ "no-wall", no_argument, NULL, ARG_NO_WALL },
|
||||||
{ NULL, 0, NULL, 0 }
|
{ NULL, 0, NULL, 0 }
|
||||||
};
|
};
|
||||||
|
@ -4317,16 +4314,13 @@ static int halt_parse_argv(int argc, char *argv[]) {
|
||||||
arg_no_wtmp = true;
|
arg_no_wtmp = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'n':
|
|
||||||
arg_no_sync = true;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ARG_NO_WALL:
|
case ARG_NO_WALL:
|
||||||
arg_no_wall = true;
|
arg_no_wall = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'i':
|
case 'i':
|
||||||
case 'h':
|
case 'h':
|
||||||
|
case 'n':
|
||||||
/* Compatibility nops */
|
/* Compatibility nops */
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -5168,9 +5162,6 @@ static int halt_main(DBusConnection *bus) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!arg_no_sync)
|
|
||||||
sync();
|
|
||||||
|
|
||||||
if (arg_dry)
|
if (arg_dry)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue