[1c48007] | 1 | Purpose of rules file:
|
---|
| 2 |
|
---|
| 3 | The kernel does not always fully populate a given kobject's attributes before
|
---|
| 4 | sending the uevent for that kobject. This means that a given sysfs directory
|
---|
| 5 | may not have all the required files in it (each directory corresponds to a
|
---|
| 6 | kobject, and each file corresponds to an attribute).
|
---|
| 7 |
|
---|
| 8 | Therefore, we must sometimes wait for attributes to show up when devices are
|
---|
| 9 | discovered. This is accomplished by udev's WAIT_FOR_SYSFS rule types.
|
---|
| 10 |
|
---|
| 11 |
|
---|
| 12 | Description of rules:
|
---|
| 13 |
|
---|
| 14 | All rules in this file match ACTION="add", because none of them apply when
|
---|
| 15 | devices are being removed.
|
---|
| 16 |
|
---|
| 17 | SUBSYSTEM is the kernel subsystem that the device uses. Current kernels have
|
---|
| 18 | some issues with SCSI device attributes being created too late. For any device
|
---|
| 19 | with a SUBSYSTEM of scsi, we must wait for the ioerr_cnt attribute. (This is
|
---|
| 20 | the last attribute created for SCSI devices, so when this attribute appears,
|
---|
| 21 | the kobject is fully populated.)
|
---|
| 22 |
|
---|
| 23 | It is also possible to use SUBSYSTEMS in Udev rules. Using SUBSYSTEMS would
|
---|
| 24 | cause Udev to search up the device tree for a matching SUBSYSTEM value. (Note
|
---|
| 25 | that "the device tree" is not necessarily the same as the path under /sys (the
|
---|
| 26 | DEVPATH). Rather, "up the device tree" is the path followed by udevinfo when
|
---|
| 27 | it is given the argument "-a".)
|
---|
| 28 |
|
---|
| 29 | We do not use SUBSYSTEMS in this rule, because we only care about the SUBSYSTEM
|
---|
| 30 | of the kobject in question. We don't care about devices that are children of
|
---|
| 31 | SCSI devices, only the SCSI device itself. We will use SUBSYSTEMS in later
|
---|
| 32 | rules, though.
|
---|
| 33 |
|
---|