<varlistentry>
<term><option>--marked</option></term>
- <listitem><para>Only allowed with <command>reload-or-restart</command>, <command>start</command>, or
- <command>stop</command>. Enqueues jobs for all units that are marked. When a unit marked for reload
- does not support reload, restart will be queued. Those properties can be set using
- <command>set-property Markers=…</command>.</para>
+ <listitem><para>Only allowed with <command>reload-or-restart</command>. Enqueues restart jobs for all
+ units that have the <literal>needs-restart</literal> mark, and reload jobs for units that have the
+ <literal>needs-reload</literal> mark. When a unit marked for reload does not support reload, restart
+ will be queued. Those properties can be set using <command>set-property Markers=…</command>.</para>
<para>Unless <option>--no-block</option> is used, <command>systemctl</command> will wait for the
queued jobs to finish.</para>
{ "list-machines", VERB_ANY, VERB_ANY, VERB_ONLINE_ONLY, verb_list_machines },
{ "clear-jobs", VERB_ANY, 1, VERB_ONLINE_ONLY, verb_trivial_method },
{ "cancel", VERB_ANY, VERB_ANY, VERB_ONLINE_ONLY, verb_cancel },
- { "start", VERB_ANY, VERB_ANY, VERB_ONLINE_ONLY, verb_start },
- { "stop", VERB_ANY, VERB_ANY, VERB_ONLINE_ONLY, verb_start },
+ { "start", 2, VERB_ANY, VERB_ONLINE_ONLY, verb_start },
+ { "stop", 2, VERB_ANY, VERB_ONLINE_ONLY, verb_start },
{ "condstop", 2, VERB_ANY, VERB_ONLINE_ONLY, verb_start }, /* For compatibility with ALTLinux */
{ "reload", 2, VERB_ANY, VERB_ONLINE_ONLY, verb_start },
{ "restart", 2, VERB_ANY, VERB_ONLINE_ONLY, verb_start },
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"--wait may not be combined with --no-block.");
+ bool do_reload_or_restart = streq_ptr(argv[optind], "reload-or-restart");
if (arg_marked) {
- if (!STRPTR_IN_SET(argv[optind], "reload-or-restart", "start", "stop"))
+ if (!do_reload_or_restart)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "--marked may only be used with 'reload-or-restart', 'start', or 'stop'.");
+ "--marked may only be used with 'reload-or-restart'.");
if (optind + 1 < argc)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "No additional arguments allowed with '%s --marked'.", strna(argv[optind]));
+ "No additional arguments allowed with 'reload-or-restart --marked'.");
if (arg_wait)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"--marked --wait is not supported.");
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
"--marked --show-transaction is not supported.");
- } else if (STRPTR_IN_SET(argv[optind], "reload-or-restart", "start", "stop")) {
+ } else if (do_reload_or_restart) {
if (optind + 1 >= argc)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL),
- "List of units to %s is required.", strna(argv[optind]));
+ "List of units to restart/reload is required.");
}
if (arg_image && arg_root)