Age | Commit message (Collapse) | Author |
|
Based on the framework from ata_id by Kay.
Now we can drop the cdsymlinks.sh and .c files
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
This fixes the issue of cdroms not showing up in the proper group,
and them showing up in /dev/cd/ for the persistant names.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
If USE_DEBUG=true and udev_log="debug", all output of the forked
programs to stdout and stderr is send to syslog.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
|
|
It too big for the small tools to link against for only the log function.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Tape naming is harder than expected, go back to block devices only.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
The distro rules are the best example you can get and the use of
dev.d/ is no longer recommended.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
From: Bill Nottingham <notting@redhat.com>
Changed reading of firmware blob to mmap and let firmware_helper
follow the setting of the log level with UDEV_LOG.
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Rules can be precompiled and stored on disk for initramfs, to avoid
parsing the rules with every event again and again. Also the OWNER and
GROUP names are already resolved to numerical values in the compiled
rules. This flag is used for the upcoming move of the rules parsing
into udevd:
If the real root is mounted udevd is started and parses the rules
only once. The event processes will inherit the already parsed rules
from the daemon, so we want to ignore any precompiled rules and
use the real rules files and watch the filesystem for changes to
reload the rules automatically.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
strlcpy counts the sourec string lengt and is therefore not suitable
to copy a defined length of characters from one string to another.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Thanks to Kay for the quick fix.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
|
|
|
|
Copied from Kay's rules from the SuSE package.
Let the fun begin...
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
This rule:
RUN+="socket:/org/kernel/udev/monitor"
send the event to the running monitor. Running udevstart give a nice
monitor output. Also the delay between the kernel uevent and the udev
udev event can be investigated:
pim:/home/kay/src/udev-kay # ./udevmonitor
UEVENT[1122920113] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1
UEVENT[1122920113] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0
UEVENT[1122920113] add@/class/scsi_host/host12
UEVENT[1122920113] add@/class/usb_device/usbdev2.99
UEVENT[1122920113] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0/host12/target12:0:0/12:0:0:0
UDEV [1122920113] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1
UEVENT[1122920113] add@/block/sda
UEVENT[1122920113] add@/class/scsi_generic/sg0
UEVENT[1122920113] add@/class/scsi_device/12:0:0:0
UDEV [1122920113] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0
UDEV [1122920113] add@/class/scsi_host/host12
UDEV [1122920113] add@/class/usb_device/usbdev2.99
UDEV [1122920113] add@/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0/host12/target12:0:0/12:0:0:0
UDEV [1122920113] add@/block/sda
UDEV [1122920113] add@/class/scsi_generic/sg0
UDEV [1122920113] add@/class/scsi_device/12:0:0:0
UEVENT[1122920115] add@/block/sda/sda1
UDEV [1122920115] add@/block/sda/sda1
pim:/home/kay/src/udev-kay # ./udevmonitor --env
UDEV [1122920185] add@/block/sda/sda1
ACTION=add
DEVPATH=/block/sda/sda1
SUBSYSTEM=block
SEQNUM=2159
MINOR=1
MAJOR=8
PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.1/usb2/2-1/2-1:1.0/host13/target13:0:0/13:0:0:0
PHYSDEVBUS=scsi
PHYSDEVDRIVER=sd
UDEVD_EVENT=1
UDEV_LOG=3
ID_VENDOR=IBM
ID_MODEL=Memory_Key
ID_REVISION=3.04
ID_SERIAL=IBM_Memory_Key_0218B301030027E8
ID_TYPE=disk
ID_BUS=usb
ID_PATH=usb-0218B301030027E8:0:0:0
ID_FS_USAGE=filesystem
ID_FS_TYPE=vfat
ID_FS_VERSION=FAT16
ID_FS_UUID=42D8-9E02
ID_FS_LABEL_SAFE=s_p_c
DEVNAME=/dev/sda1
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
RUN="socket:<name>" will send the environment in the kernel uevent
format to the named destination. Using the socket instead of the program
to pass the hotplug events to the HAL daemon, cuts down the running
time of udevstart from 0.8 to 0.4 seconds on my box.
env -i ACTION=add DEVPATH=/block/hda/hda1 strace -s10000 ./udev block
sendto(3, "add@/block/hda/hda1\0
ACTION=add\0DEVPATH=/block/hda/hda1\0UDEV_LOG=3\0
ID_TYPE=disk\0ID_MODEL=HTS726060M9AT00\0ID_SERIAL=MRH401M4G6UM9B\0
ID_REVISION=MH4OA6BA\0ID_BUS=ata\0ID_PATH=pci-0000:00:1f.1-ide-0:0\0
ID_FS_USAGE=other\0ID_FS_TYPE=swap\0ID_FS_VERSION=2\0
ID_FS_UUID=9352cfef-7687-47bc-a2a3-34cf136f72e1\0
ID_FS_LABEL=ThisIsSwap\0ID_FS_LABEL_SAFE=ThisIsSwap\0
DEVNAME=/dev/hda1\0"
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Solaris uses volume_id now and they fiddled around with configure scripts
to map the linux kernel int types. Adding the types locally to volume_id
breaks the klibc build, so just switch to these ugly types and forget it. :)
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
|
|
|
|
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
Patch from:
Hannes Reinecke <hare@suse.de>
|
|
|
|
|
|
|
|
|
|
Some architectures really want well alingned structures.
Thanks to Jim Gifford <maillist@jg555.com> for help finding it.
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
This will allow us to have whole blocks of rules to skip
conditionally. The following section creates the node "yes":
GOTO="TEST"
NAME="no"
NAME="no2", LABEL="NO"
NAME="yes", LABEL="TEST"
NAME="no3"
|
|
This way we can run a rule if a certain key is not set by:
ENV{key}="" or ENV{key}!="?*"
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
|
|
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
|
|
Note, this assumes that you are putting your device nodes in /dev/, the
better thing to do is use the RUN= rule and not rely on this program at all.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
|
|
|
|
|