mirror of
https://github.com/systemd/systemd.git
synced 2025-01-26 10:24:17 +08:00
load-fragment: make IOScheduling{Class,Priority}= accept the empty string
This commit is contained in:
parent
de5e6038ca
commit
617d253afa
@ -728,7 +728,8 @@ CapabilityBoundingSet=~CAP_B CAP_C</programlisting>
|
||||
|
||||
<listitem><para>Sets the I/O scheduling class for executed processes. Takes an integer between 0 and 3 or one
|
||||
of the strings <option>none</option>, <option>realtime</option>, <option>best-effort</option> or
|
||||
<option>idle</option>. See
|
||||
<option>idle</option>. If the empty string is assigned to this option, all prior assignments to both
|
||||
<varname>IOSchedulingClass=</varname> and <varname>IOSchedulingPriority=</varname> have no effect. See
|
||||
<citerefentry><refentrytitle>ioprio_set</refentrytitle><manvolnum>2</manvolnum></citerefentry> for
|
||||
details.</para></listitem>
|
||||
</varlistentry>
|
||||
@ -738,7 +739,9 @@ CapabilityBoundingSet=~CAP_B CAP_C</programlisting>
|
||||
|
||||
<listitem><para>Sets the I/O scheduling priority for executed processes. Takes an integer between 0 (highest
|
||||
priority) and 7 (lowest priority). The available priorities depend on the selected I/O scheduling class (see
|
||||
above). See <citerefentry><refentrytitle>ioprio_set</refentrytitle><manvolnum>2</manvolnum></citerefentry> for
|
||||
above). If the empty string is assigned to this option, all prior assignments to both
|
||||
<varname>IOSchedulingClass=</varname> and <varname>IOSchedulingPriority=</varname> have no effect.
|
||||
See <citerefentry><refentrytitle>ioprio_set</refentrytitle><manvolnum>2</manvolnum></citerefentry> for
|
||||
details.</para></listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -1115,6 +1115,12 @@ int config_parse_exec_io_class(const char *unit,
|
||||
assert(rvalue);
|
||||
assert(data);
|
||||
|
||||
if (isempty(rvalue)) {
|
||||
c->ioprio_set = false;
|
||||
c->ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
x = ioprio_class_from_string(rvalue);
|
||||
if (x < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, 0, "Failed to parse IO scheduling class, ignoring: %s", rvalue);
|
||||
@ -1146,6 +1152,12 @@ int config_parse_exec_io_priority(const char *unit,
|
||||
assert(rvalue);
|
||||
assert(data);
|
||||
|
||||
if (isempty(rvalue)) {
|
||||
c->ioprio_set = false;
|
||||
c->ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
r = ioprio_parse_priority(rvalue, &i);
|
||||
if (r < 0) {
|
||||
log_syntax(unit, LOG_ERR, filename, line, r, "Failed to parse IO priority, ignoring: %s", rvalue);
|
||||
|
Loading…
Reference in New Issue
Block a user