| |
---|
| | mountpoint). |
---|
| | |
---|
| | "But why", you may ask, "are you using the ``RUN==`` construct? |
---|
| | Isn't that what ``PROGRAM==`` does?" Not exactly, Grasshopper. |
---|
| | ``PROGRAM==`` *always* runs regardless of prior matching. |
---|
| | That's because ``PROGRAM==`` is itself a *matching* key-value |
---|
| | construct. It's used to *figure out* whether a match has |
---|
| | taken place. It this has to run every time. ``RUN==``, |
---|
| | on the other hand, *only* runs if all prior matching has |
---|
| | been successful. |
---|
| | ``PROGRAM==`` *always* runs regardless of prior matching. That's |
---|
| | because ``PROGRAM==`` is itself a *matching* key-value construct. |
---|
| | It's used to *figure out* whether a match has taken place (by |
---|
| | means of it populating ``RESULTS``). It this has to run every |
---|
| | time. ``RUN==``, on the other hand, *only* runs if all prior |
---|
| | matching has been successful. |
---|
| | |
---|
| | Why is that important here? Say we boot the system, and the |
---|
| | kernel discovers drives ``/dev/sdh, /dev/sdi,`` and ``/dev/sdj`` |
---|
| | and let's suppose that the first one has the matching ``wwid``. |
---|
| |
---|
| | |
---|
| | Document Revision Information |
---|
| | ============================= |
---|
| | |
---|
| | ``$Id: Deconstructing_Linux_udev_Rules.rst,v 1.115 2013/11/01 03:21:43 tundra Exp $`` |
---|
| | ``$Id: Deconstructing_Linux_udev_Rules.rst,v 1.116 2013/11/01 03:22:50 tundra Exp $`` |
---|
| | |
---|
| | You can find the latest version of this document at: |
---|
| | |
---|
| | http://www.tundraware.com/TechnicalNotes/Deconstructing-Linux-udev-Rules |
---|
| | |