chiark / gitweb /
Docs: udev.xml: `are' -> `is'; the subject is `Access'
[elogind.git] / udev / udev.xml
index b971fadea6b40f053b85bc3a5bae17103aafb8d5..2fc72ca91a60bd167c1135d8f8b9ff44ad5bc9d2 100644 (file)
     names provide a way to reliably identify devices based on their properties or
     current configuration.</para>
 
-    <para>The udev daemon <citerefentry><refentrytitle>udevd</refentrytitle>
-    <manvolnum>8</manvolnum></citerefentry> receives device uevents directly from
+    <para>The udev daemon, <citerefentry><refentrytitle>udevd</refentrytitle>
+    <manvolnum>8</manvolnum></citerefentry>, receives device uevents directly from
     the kernel whenever a device is added or removed from the system, or it changes its
     state. When udev receives a device event, it matches its configured set of rules
-    against various device attributes to identify the device. Rules that match, may
-    provide additional device information to be stored in the udev database, or information
+    against various device attributes to identify the device. Rules that match may
+    provide additional device information to be stored in the udev database or
     to be used to create meaningful symlink names.</para>
 
-    <para>All device information udev processes, is stored in the udev database and
+    <para>All device information udev processes is stored in the udev database and
     sent out to possible event subscribers. Access to all stored data and the event
-    sources are provided by the library libudev.</para>
+    sources is provided by the library libudev.</para>
   </refsect1>
 
   <refsect1><title>Configuration</title>
     <para>udev configuration files are placed in <filename>/etc/udev/</filename>
-    and <filename>/lib/udev/</filename>. All empty lines, or lines beginning with
+    and <filename>/lib/udev/</filename>. All empty lines or lines beginning with
     '#' will be ignored.</para>
 
     <refsect2><title>Configuration file</title>
       <para>The udev rules are read from the files located in the
       default rules directory <filename>/lib/udev/rules.d/</filename>,
       the custom rules directory <filename>/etc/udev/rules.d/</filename>
-      and the temporary rules directory <filename>/dev/.udev/rules.d/</filename>.
+      and the temporary rules directory <filename>/run/udev/rules.d/</filename>.
       All rule files are sorted and processed in lexical order, regardless
-      in which of these directories they live.</para>
+      in which of these directories they live. Files in
+      <filename>/etc/udev/rules.d/</filename> have precedence over files with
+      the same name in <filename>/lib/udev/rules.d/</filename>. This can be
+      used to ignore a default rules file if needed.</para>
 
-      <para>Rule files are required to have a unique name, duplicate file names
-      are ignored. Files in <filename>/etc/udev/rules.d/</filename> have precedence
-      over files with the same name in <filename>/lib/udev/rules.d/</filename>. This
-      can be used to ignore a default rules file if needed.</para>
+      <para>Rule files must end in <filename>.rules</filename>, other extensions
+      are ignored.</para>
 
       <para>Every line in the rules file contains at least one key value pair.
       There are two kind of keys, match and assignment keys.
         <varlistentry>
           <term><option>=</option></term>
           <listitem>
-            <para>Assign a value to a key. Keys that represent a list, are reset
+            <para>Assign a value to a key. Keys that represent a list are reset
             and only this single value is assigned.</para>
           </listitem>
         </varlistentry>
           <term><option>NAME</option></term>
           <listitem>
             <para>The name, a network interface should be renamed to. Or as
-            a temporary workaraound, the name a device node should be named.
+            a temporary workaround, the name a device node should be named.
             Usually the kernel provides the defined node name, or even creates
             and removes the node before udev even receives any event. Changing
             the node name from the kernel's default creates inconsistencies
             device. This can only be used for very short running tasks. Running an
             event process for a long period of time may block all further events for
             this or a dependent device. Long running tasks need to be immediately
-            detached from the event process itself. If the option
-            <option>RUN{<replaceable>fail_event_on_error</replaceable>}</option> is
-            specified, and the executed program returns non-zero, the event will be
-            marked as failed for a possible later handling.</para>
+            detached from the event process itself.</para>
             <para>If no absolute path is given, the program is expected to live in
             <filename>/lib/udev</filename>, otherwise the absolute path must be
             specified. Program name and arguments are separated by spaces. Single quotes
           <term><option>WAIT_FOR</option></term>
           <listitem>
             <para>Wait for a file to become available or until a 10
-            seconds timeout expires.</para>
+            seconds timeout expires. The path is relative to the sysfs device,
+            i. e. if no path is specified this waits for an attribute to appear.</para>
           </listitem>
         </varlistentry>
 
               <varlistentry>
                 <term><option>event_timeout=</option></term>
                 <listitem>
-                  <para>Number of seconds an event will wait for operations to finish, before it
+                  <para>Number of seconds an event will wait for operations to finish before it
                   will terminate itself.</para>
                 </listitem>
               </varlistentry>
                 <term><option>static_node=</option></term>
                 <listitem>
                   <para>Apply the permissions specified in this rule to a static device node with
-                  the specified name. Static device nodes might be provided by kernel modules,
+                  the specified name. Static device nodes might be provided by kernel modules
                   or copied from <filename>/lib/udev/devices</filename>. These nodes might not have
-                  a corresponding kernel device at the time udevd is started, and allow to trigger
-                  automatic kernel module on-demand loading.</para>
+                  a corresponding kernel device at the time udevd is started; they can trigger
+                  automatic kernel module loading.</para>
                 </listitem>
               </varlistentry>
               <varlistentry>
                   writing, a change uevent will be synthesised.</para>
                 </listitem>
               </varlistentry>
+              <varlistentry>
+                <term><option>nowatch</option></term>
+                <listitem>
+                  <para>Disable the watching of a device node with inotify.</para>
+                </listitem>
+              </varlistentry>
             </variablelist>
           </listitem>
         </varlistentry>
         <varlistentry>
           <term><option>$attr{<replaceable>file</replaceable>}</option>, <option>%s{<replaceable>file</replaceable>}</option></term>
           <listitem>
-            <para>The value of a sysfs attribute found at the device, where
+            <para>The value of a sysfs attribute found at the device where
             all keys of the rule have matched. If the matching device does not have
-            such an attribute, follow the chain of parent devices and use the value
-            of the first attribute that matches.
+            such an attribute, and a previous KERNELS, SUBSYSTEMS, DRIVERS, or
+            ATTRS test selected a parent device, use the attribute from that
+            parent device.
             If the attribute is a symlink, the last element of the symlink target is
             returned as the value.</para>
           </listitem>