]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: Add systemd.default_device_timeout_sec= cmdline option
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 31 May 2023 14:16:21 +0000 (16:16 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 2 Jun 2023 13:43:28 +0000 (15:43 +0200)
man/kernel-command-line.xml
src/core/main.c

index 211ae5ac57186e65457b089cdcc4b8b01d709a6a..479b482a308b4f91e004e660f888172ef4ff432c 100644 (file)
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><varname>systemd.default_device_timeout_sec=</varname></term>
+
+        <listitem>
+          <para>Overrides the default device timeout <varname>DefaultDeviceTimeoutSec=</varname> at boot. For
+          details, see
+          <citerefentry><refentrytitle>systemd-system.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
         <term><varname>systemd.watchdog_device=</varname></term>
 
index c69f9b9afeed8e5dfb139196df7b5f8db19fa83a..3eb53577eba104cbf182f69ec2305456e0190b7c 100644 (file)
@@ -400,6 +400,18 @@ static int parse_proc_cmdline_item(const char *key, const char *value, void *dat
                 if (arg_default_timeout_start_usec <= 0)
                         arg_default_timeout_start_usec = USEC_INFINITY;
 
+        } else if (proc_cmdline_key_streq(key, "systemd.default_device_timeout_sec")) {
+
+                if (proc_cmdline_value_missing(key, value))
+                        return 0;
+
+                r = parse_sec(value, &arg_default_device_timeout_usec);
+                if (r < 0)
+                        log_warning_errno(r, "Failed to parse default device timeout '%s', ignoring: %m", value);
+
+                if (arg_default_device_timeout_usec <= 0)
+                        arg_default_device_timeout_usec = USEC_INFINITY;
+
         } else if (proc_cmdline_key_streq(key, "systemd.cpu_affinity")) {
 
                 if (proc_cmdline_value_missing(key, value))