linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Some rules do not work in udev 131 and 132
@ 2008-11-12 19:00 Mikhail Kolesnik
  2008-11-12 20:31 ` Kay Sievers
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Mikhail Kolesnik @ 2008-11-12 19:00 UTC (permalink / raw)
  To: linux-hotplug

Hello.
 
udev was built from sources with no patching or very special rulesets
installed. After a simple update from 130 to 131 some of my custom rules
stopped working. And I can't find information about syntax change in
git log.

In the example below the first rule creates a symlink, but the second
one creates none. It works with 130 but does not work on 131 and 132.
The same results for another device (and partitions are there
untouched).

BUS="usb", ATTRS{serial}="A500000000025423", KERNEL="sd?", NAME="%k", SYMLINK+="usbflash", GROUP="cdrom"
BUS="usb", ATTRS{serial}="A500000000025423", KERNEL="sd?[1-3]", NAME="%k", SYMLINK+="usbflash%n", GROUP="cdrom" 

Target: i686-pc-linux-gnu
Configured with: ../gcc-4.2.4/configure --prefix=/usr --libexecdir=/usr/lib --enable-languages=c,c++,objc --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-shared --disable-nls --with-x=no
Thread model: posix
gcc version 4.2.4 (CRUX)

libtool 2.2.6

Linux amilo.home 2.6.26.1-mk38 #1 Sun Aug 3 17:08:19 EEST 2008 i686
Intel(R) Pentium(R) M processor 1.73GHz GenuineIntel GNU/Linux

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
@ 2008-11-12 20:31 ` Kay Sievers
  2008-11-12 22:37 ` Mikhail Kolesnik
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Kay Sievers @ 2008-11-12 20:31 UTC (permalink / raw)
  To: linux-hotplug

On Wed, Nov 12, 2008 at 20:00, Mikhail Kolesnik <mike@openbunker.org> wrote:
> udev was built from sources with no patching or very special rulesets
> installed. After a simple update from 130 to 131 some of my custom rules
> stopped working. And I can't find information about syntax change in
> git log.
>
> In the example below the first rule creates a symlink, but the second
> one creates none. It works with 130 but does not work on 131 and 132.
> The same results for another device (and partitions are there
> untouched).
>
> BUS="usb", ATTRS{serial}="A500000000025423", KERNEL="sd?", NAME="%k", SYMLINK+="usbflash", GROUP="cdrom"
> BUS="usb", ATTRS{serial}="A500000000025423", KERNEL="sd?[1-3]", NAME="%k", SYMLINK+="usbflash%n", GROUP="cdrom"

These rules seem to work fine here. I just replaced the serial number:
  ls -l /dev/usbflash*
  lrwxrwxrwx 1 root root 3 Nov 12 21:21 /dev/usbflash -> sdb
  lrwxrwxrwx 1 root root 4 Nov 12 21:21 /dev/usbflash1 -> sdb1

What does (replace sdb with the correct name):
  udevadm test /class/block/sdb
  udevadm test /class/block/sdb1
print?

Kay

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
  2008-11-12 20:31 ` Kay Sievers
@ 2008-11-12 22:37 ` Mikhail Kolesnik
  2008-11-12 22:55 ` Kay Sievers
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Mikhail Kolesnik @ 2008-11-12 22:37 UTC (permalink / raw)
  To: linux-hotplug

Hello, Kay.

On Wed, 12 Nov 2008 21:31:54 +0100
"Kay Sievers" <kay.sievers@vrfy.org> wrote:

> These rules seem to work fine here. I just replaced the serial number:
>   ls -l /dev/usbflash*
>   lrwxrwxrwx 1 root root 3 Nov 12 21:21 /dev/usbflash -> sdb
>   lrwxrwxrwx 1 root root 4 Nov 12 21:21 /dev/usbflash1 -> sdb1
> 
> What does (replace sdb with the correct name):
>   udevadm test /class/block/sdb
>   udevadm test /class/block/sdb1
> print?

I get "unable to open device '/class/block/sd*'" for
any '/class/block/sd*' name. The same for "/block/sd*[0-9]":

# udevadm test /block/sdc1
run_command: calling: test
udevadm_test: version 130
[...]
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules
file
[...]
parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
unable to open device '/block/sdc1'
udev_unref: context 0x8064008 released

Only names like '/block/sdX' seems to go beyond the parse_file part:

with udev 130:

# udevadm test /block/sdc
run_command: calling: test
udevadm_test: version 130
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/55-lfs.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-cdrom.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-pcmcia.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/81-firmware.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
import_uevent_var: import into environment: 'MAJOR=8'
import_uevent_var: import into environment: 'MINOR2'
import_uevent_var: import into environment: 'DEVTYPE=disk'
import_uevent_var: import into environment: 'PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host12/target12:0:0/12:0:0:0'
import_uevent_var: import into environment: 'PHYSDEVBUS=scsi'
import_uevent_var: import into environment: 'PHYSDEVDRIVER=sd'
udevadm_test: looking at device '/block/sdc' from subsystem 'block'
udev_rules_get_name: add symlink 'block/8:32'
match_rule: '/sys/block/sdc/whole_disk' does not exist
run_program: 'usb_id --export /block/sdc'
run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR=Corsair'
run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL=Flash_Voyager'
run_program: '/lib/udev/usb_id' (stdout) 'ID_REVISION\x1100'
run_program: '/lib/udev/usb_id' (stdout) 'ID_SERIAL=Corsair_Flash_Voyager_A500000000025423-0:0'
run_program: '/lib/udev/usb_id' (stdout) 'ID_SERIAL_SHORT¥00000000025423'
run_program: '/lib/udev/usb_id' (stdout) 'ID_TYPE=disk'
run_program: '/lib/udev/usb_id' (stdout) 'ID_INSTANCE=0:0'
run_program: '/lib/udev/usb_id' (stdout) 'ID_BUS=usb'
run_program: '/lib/udev/usb_id' (stderr) 'libudev: udev_new: context 0x8050008 created'
run_program: '/lib/udev/usb_id' (stderr) 'libudev: udev_new: log_priority=6'
run_program: '/lib/udev/usb_id' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
run_program: '/lib/udev/usb_id' (stderr) 'libudev: udev_new: dev_path='/dev''
run_program: '/lib/udev/usb_id' (stderr) 'libudev: udev_new: sys_path='/sys''
run_program: '/lib/udev/usb_id' returned with status 0
udev_rules_get_name: add symlink 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0'
run_program: 'path_id /block/sdc'
run_program: '/lib/udev/path_id' (stdout) 'ID_PATH=pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0'
run_program: '/lib/udev/path_id' returned with status 0
udev_rules_get_name: add symlink 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0'
udev_node_mknod: mknod(/dev/.tmp-8-32, 060600, (8,32))
udev_node_mknod: chmod(/dev/.tmp-8-32, 060600)
udev_node_mknod: chown(/dev/.tmp-8-32, 0, 0)
run_program: 'vol_id --export /dev/.tmp-8-32'
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: context 0x804d008 created'
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: log_priority=6'
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: dev_path='/dev''
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: sys_path='/sys''
run_program: '/lib/udev/vol_id' (stderr) '/dev/.tmp-8-32: unknown volume type'
run_program: '/lib/udev/vol_id' returned with status 4
run_program: 'edd_id --export /dev/.tmp-8-32'
run_program: '/lib/udev/edd_id' (stderr) 'libudev: udev_new: context 0x804c008 created'
run_program: '/lib/udev/edd_id' (stderr) 'libudev: udev_new: log_priority=6'
run_program: '/lib/udev/edd_id' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
run_program: '/lib/udev/edd_id' (stderr) 'libudev: udev_new: dev_path='/dev''
run_program: '/lib/udev/edd_id' (stderr) 'libudev: udev_new: sys_path='/sys''
run_program: '/lib/udev/edd_id' (stderr) 'no kernel EDD support'
run_program: '/lib/udev/edd_id' returned with status 2
udev_rules_get_name: add symlink 'usbflash'
udev_rules_get_name: rule applied, 'sdc' becomes 'sdc'
udev_device_event: device '/block/sdc' already in database, cleanup
udev_node_add: creating device node '/dev/sdc', major=8, minor2, mode\x0660, uid=0, gid\x104
udev_node_update_symlinks: update symlink 'block/8:32' of '/block/sdc'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/block\x2f8:32'
update_link: found 1 devices with name 'block/8:32'
update_link: found '/block/sdc' for 'block/8:32'
update_link: compare (our own) priority of '/block/sdc' 0 >= 0
update_link: 'block/8:32' with target 'sdc' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0' of '/block/sdc'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-id\x2fusb-Corsair_Flash_Voyager_A500000000025423-0:0'
update_link: found 1 devices with name 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0'
update_link: found '/block/sdc' for 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0'
update_link: compare (our own) priority of '/block/sdc' 0 >= 0
update_link: 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0' with target 'sdc' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0' of '/block/sdc'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-path\x2fpci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0'
update_link: found 1 devices with name 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0'
update_link: found '/block/sdc' for 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0'
update_link: compare (our own) priority of '/block/sdc' 0 >= 0
update_link: 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0' with target 'sdc' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'usbflash' of '/block/sdc'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/usbflash'
update_link: found 1 devices with name 'usbflash'
update_link: found '/block/sdc' for 'usbflash'
update_link: compare (our own) priority of '/block/sdc' 0 >= 0
update_link: 'usbflash' with target 'sdc' has the highest priority 0, create it
udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
udevadm_test: run: 'socket:@/org/kernel/udev/monitor'
udev_unref: context 0x8064008 released

with udev 131:

# udevadm test /block/sdc
run_command: calling: test
udevadm_test: version 131
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/55-lfs.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-cdrom.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-pcmcia.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/81-firmware.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
udev_rules_new: shrunk to 12540 bytes tokens (1045 * 12 bytes), 10421 bytes buffer
udev_device_new_from_syspath: device 0x806f448 has devpath '/block/sdc'
udev_rules_apply_to_event: LINK 'block/8:32' /lib/udev/rules.d/50-udev-default.rules:3
udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/50-udev-default.rules:64
udev_rules_apply_to_event: MODE 0660 /lib/udev/rules.d/55-lfs.rules:86
udev_device_new_from_syspath: device 0x806ff60 has devpath '/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host12/target12:0:0/12:0:0:0'
udev_device_new_from_syspath: device 0x8070100 has devpath '/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host12/target12:0:0'
udev_device_new_from_syspath: device 0x8064318 has devpath '/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host12'
udev_device_new_from_syspath: device 0x8064408 has devpath '/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0'
udev_rules_apply_to_event: IMPORT 'usb_id --export /block/sdc' /lib/udev/rules.d/60-persistent-storage.rules:34
util_run_program: 'usb_id --export /block/sdc'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_VENDOR=Corsair'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_MODEL=Flash_Voyager'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_REVISION\x1100'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_SERIAL=Corsair_Flash_Voyager_A500000000025423-0:0'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_SERIAL_SHORT¥00000000025423'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_TYPE=disk'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_INSTANCE=0:0'
util_run_program: '/lib/udev/usb_id' (stdout) 'ID_BUS=usb'
util_run_program: '/lib/udev/usb_id' returned with status 0
udev_rules_apply_to_event: LINK 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0' /lib/udev/rules.d/60-persistent-storage.rules:37
udev_device_new_from_syspath: device 0x8065748 has devpath '/devices/pci0000:00/0000:00:1d.7/usb1/1-4'
udev_device_new_from_syspath: device 0x80658e0 has devpath '/devices/pci0000:00/0000:00:1d.7/usb1'
udev_device_new_from_syspath: device 0x8065a70 has devpath '/devices/pci0000:00/0000:00:1d.7'
udev_device_new_from_syspath: device 0x8065be8 has devpath '/devices/pci0000:00'
udev_rules_apply_to_event: IMPORT 'path_id /block/sdc' /lib/udev/rules.d/60-persistent-storage.rules:52
util_run_program: 'path_id /block/sdc'
util_run_program: '/lib/udev/path_id' (stdout) 'ID_PATH=pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0'
util_run_program: '/lib/udev/path_id' returned with status 0
udev_rules_apply_to_event: LINK 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0' /lib/udev/rules.d/60-persistent-storage.rules:53
udev_rules_apply_to_event: IMPORT 'vol_id --export /dev/block/8:32' /lib/udev/rules.d/60-persistent-storage.rules:63
util_run_program: 'vol_id --export /dev/block/8:32'
util_run_program: '/lib/udev/vol_id' (stderr) '/dev/block/8:32: unknown volume type'
util_run_program: '/lib/udev/vol_id' returned with status 4
udev_rules_apply_to_event: IMPORT 'edd_id --export /dev/block/8:32' /lib/udev/rules.d/61-persistent-storage-edd.rules:8
util_run_program: 'edd_id --export /dev/block/8:32'
util_run_program: '/lib/udev/edd_id' (stderr) 'no kernel EDD support'
util_run_program: '/lib/udev/edd_id' returned with status 2
udev_rules_apply_to_event: RUN 'socket:/org/freedesktop/hal/udev_event' /etc/udev/rules.d/90-hal.rules:2
udev_rules_apply_to_event: RUN 'socket:@/org/kernel/udev/monitor' /lib/udev/rules.d/95-udev-late.rules:7
udev_rules_apply_to_event: GROUP 104 /etc/udev/rules.d/99-local.rules:8
udev_rules_apply_to_event: NAME 'sdc' /etc/udev/rules.d/99-local.rules:8
udev_rules_apply_to_event: LINK 'usbflash' /etc/udev/rules.d/99-local.rules:8
udev_device_new_from_syspath: device 0x8066220 has devpath '/block/sdc'
udev_device_read_db: device 0x8066220 filled with db file data
udev_device_update_db: created db file for '/block/sdc' in '/dev/.udev/db/\x2fblock\x2fsdc'
udev_node_add: creating device node '/dev/sdc', devnum=8:32, mode\x0660, uid=0, gid\x104
update_link: '/dev/block/8:32' with target '/dev/sdc' has the highest priority 0, create it
update_link: '/dev/disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0' with target '/dev/sdc' has the highest priority 0, create it
update_link: '/dev/disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0' with target '/dev/sdc' has the highest priority 0, create it
update_link: '/dev/usbflash' with target '/dev/sdc' has the highest priority 0, create it
udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
udevadm_test: run: 'socket:@/org/kernel/udev/monitor'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
  2008-11-12 20:31 ` Kay Sievers
  2008-11-12 22:37 ` Mikhail Kolesnik
@ 2008-11-12 22:55 ` Kay Sievers
  2008-11-13 11:50 ` Mikhail Kolesnik
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Kay Sievers @ 2008-11-12 22:55 UTC (permalink / raw)
  To: linux-hotplug

On Wed, Nov 12, 2008 at 23:37, Mikhail Kolesnik <mike@openbunker.org> wrote:
> On Wed, 12 Nov 2008 21:31:54 +0100
> "Kay Sievers" <kay.sievers@vrfy.org> wrote:
>
>> These rules seem to work fine here. I just replaced the serial number:
>>   ls -l /dev/usbflash*
>>   lrwxrwxrwx 1 root root 3 Nov 12 21:21 /dev/usbflash -> sdb
>>   lrwxrwxrwx 1 root root 4 Nov 12 21:21 /dev/usbflash1 -> sdb1
>>
>> What does (replace sdb with the correct name):
>>   udevadm test /class/block/sdb
>>   udevadm test /class/block/sdb1
>> print?
>
> I get "unable to open device '/class/block/sd*'" for
> any '/class/block/sd*' name. The same for "/block/sd*[0-9]":
>
> # udevadm test /block/sdc1
> run_command: calling: test
> udevadm_test: version 130
> [...]
> parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules
> file
> [...]
> parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
> unable to open device '/block/sdc1'
> udev_unref: context 0x8064008 released
>
> Only names like '/block/sdX' seems to go beyond the parse_file part:

Your kernel has the old sysfs layout. Put the  partition devices after
the disk device:
  udevadm test /block/sdc/sdc1

Kay

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
                   ` (2 preceding siblings ...)
  2008-11-12 22:55 ` Kay Sievers
@ 2008-11-13 11:50 ` Mikhail Kolesnik
  2008-11-13 17:13 ` Kay Sievers
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Mikhail Kolesnik @ 2008-11-13 11:50 UTC (permalink / raw)
  To: linux-hotplug

Hello, Kay.

On Wed, 12 Nov 2008 23:55:51 +0100
"Kay Sievers" <kay.sievers@vrfy.org> wrote:

> [...]
> Your kernel has the old sysfs layout. Put the  partition devices after
> the disk device:
>   udevadm test /block/sdc/sdc1

udevadm_test: version 130
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/55-lfs.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-cdrom.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-pcmcia.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/81-firmware.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
import_uevent_var: import into environment: 'MAJOR=8'
import_uevent_var: import into environment: 'MINOR3'
import_uevent_var: import into environment: 'DEVTYPE=partition'
import_uevent_var: import into environment: 'PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host5/target5:0:0/5:0:0:0'
import_uevent_var: import into environment: 'PHYSDEVBUS=scsi'
import_uevent_var: import into environment: 'PHYSDEVDRIVER=sd'
udevadm_test: looking at device '/block/sdc/sdc1' from subsystem 'block'
udev_rules_get_name: add symlink 'block/8:33'
match_rule: '/sys/block/sdc/sdc1/whole_disk' does not exist
udev_rules_get_name: add symlink 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
udev_rules_get_name: add symlink 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
udev_node_mknod: mknod(/dev/.tmp-8-33, 060600, (8,33))
udev_node_mknod: chmod(/dev/.tmp-8-33, 060600)
udev_node_mknod: chown(/dev/.tmp-8-33, 0, 0)
run_program: 'vol_id --export /dev/.tmp-8-33'
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: context 0x804d008 created'
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: log_priority=6'
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: dev_path='/dev''
run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: sys_path='/sys''
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_USAGE=filesystem'
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_TYPE=vfat'
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_VERSIONúT32'
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUIDH2D-DBA5'
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUID_ENCH2D-DBA5'
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL='
run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL_ENC='
run_program: '/lib/udev/vol_id' returned with status 0
udev_rules_get_name: add symlink 'disk/by-uuid/482D-DBA5'
run_program: 'fstab_import sdc1 block/8:33 disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1 disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1 disk/by-uuid/482D-DBA5 mapper/'
run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: context 0x804c008 created'
run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: log_priority=6'
run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: dev_path='/dev''
run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: sys_path='/sys''
run_program: '/lib/udev/fstab_import' returned with status 1
udev_rules_get_name: add symlink 'usbflash1'
udev_rules_get_name: rule applied, 'sdc1' becomes 'sdc1'
udev_device_event: device '/block/sdc/sdc1' already in database, cleanup
udev_node_add: creating device node '/dev/sdc1', major=8, minor3, mode\x0660, uid=0, gid\x104
udev_node_update_symlinks: update symlink 'block/8:33' of '/block/sdc/sdc1'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/block\x2f8:33'
update_link: found 1 devices with name 'block/8:33'
update_link: found '/block/sdc/sdc1' for 'block/8:33'
update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
update_link: 'block/8:33' with target 'sdc1' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1' of '/block/sdc/sdc1'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-id\x2fusb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
update_link: found 1 devices with name 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
update_link: found '/block/sdc/sdc1' for 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
update_link: 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1' with target 'sdc1' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1' of '/block/sdc/sdc1'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-path\x2fpci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
update_link: found 1 devices with name 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
update_link: found '/block/sdc/sdc1' for 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
update_link: 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1' with target 'sdc1' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'disk/by-uuid/482D-DBA5' of '/block/sdc/sdc1'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-uuid\x2f482D-DBA5'
update_link: found 1 devices with name 'disk/by-uuid/482D-DBA5'
update_link: found '/block/sdc/sdc1' for 'disk/by-uuid/482D-DBA5'
update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
update_link: 'disk/by-uuid/482D-DBA5' with target 'sdc1' has the highest priority 0, create it
udev_node_update_symlinks: update symlink 'usbflash1' of '/block/sdc/sdc1'
udev_db_get_devices_by_name: found index directory '/dev/.udev/names/usbflash1'
update_link: found 1 devices with name 'usbflash1'
update_link: found '/block/sdc/sdc1' for 'usbflash1'
update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
update_link: 'usbflash1' with target 'sdc1' has the highest priority 0, create it
udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
udevadm_test: run: 'socket:@/org/kernel/udev/monitor'
udev_unref: context 0x8064008 released

udevadm_test: version 131
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/55-lfs.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-cdrom.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/65-pcmcia.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/81-firmware.rules' as rules file
parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
udev_rules_new: shrunk to 12540 bytes tokens (1045 * 12 bytes), 10421 bytes buffer
udev_device_new_from_syspath: device 0x806f448 has devpath '/block/sdc/sdc1'
udev_rules_apply_to_event: LINK 'block/8:33' /lib/udev/rules.d/50-udev-default.rules:3
udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/50-udev-default.rules:64
udev_rules_apply_to_event: MODE 0660 /lib/udev/rules.d/55-lfs.rules:86
udev_rules_apply_to_event: IMPORT 'vol_id --export /dev/block/8:33' /lib/udev/rules.d/60-persistent-storage.rules:63
util_run_program: 'vol_id --export /dev/block/8:33'
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_USAGE=filesystem'
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_TYPE=vfat'
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_VERSIONúT32'
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUIDH2D-DBA5'
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUID_ENCH2D-DBA5'
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL='
util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL_ENC='
util_run_program: '/lib/udev/vol_id' returned with status 0
udev_rules_apply_to_event: LINK 'disk/by-uuid/482D-DBA5' /lib/udev/rules.d/60-persistent-storage.rules:66
udev_rules_apply_to_event: IMPORT 'fstab_import sdc1 block/8:33 disk/by-uuid/482D-DBA5 mapper/' /lib/udev/rules.d/79-fstab_import.rules:1
util_run_program: 'fstab_import sdc1 block/8:33 disk/by-uuid/482D-DBA5 mapper/'
util_run_program: '/lib/udev/fstab_import' returned with status 1
udev_rules_apply_to_event: RUN 'socket:/org/freedesktop/hal/udev_event' /etc/udev/rules.d/90-hal.rules:2
udev_rules_apply_to_event: RUN 'socket:@/org/kernel/udev/monitor' /lib/udev/rules.d/95-udev-late.rules:7
udev_event_execute_rules: no node name set, will use kernel name 'sdc1'
udev_device_new_from_syspath: device 0x8070518 has devpath '/block/sdc/sdc1'
udev_device_read_db: device 0x8070518 filled with db file data
udev_device_update_db: created db file for '/block/sdc/sdc1' in '/dev/.udev/db/\x2fblock\x2fsdc\x2fsdc1'
udev_node_add: creating device node '/dev/sdc1', devnum=8:33, mode\x0660, uid=0, gid=6
update_link: '/dev/block/8:33' with target '/dev/sdc1' has the highest priority 0, create it
update_link: '/dev/disk/by-uuid/482D-DBA5' with target '/dev/sdc1' has the highest priority 0, create it
udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
udevadm_test: run: 'socket:@/org/kernel/udev/monitor'

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
                   ` (3 preceding siblings ...)
  2008-11-13 11:50 ` Mikhail Kolesnik
@ 2008-11-13 17:13 ` Kay Sievers
  2008-11-14 16:38 ` Mikhail Kolesnik
  2008-11-14 17:42 ` Kay Sievers
  6 siblings, 0 replies; 8+ messages in thread
From: Kay Sievers @ 2008-11-13 17:13 UTC (permalink / raw)
  To: linux-hotplug

On Thu, Nov 13, 2008 at 12:50, Mikhail Kolesnik <mike@openbunker.org> wrote:
> On Wed, 12 Nov 2008 23:55:51 +0100
> "Kay Sievers" <kay.sievers@vrfy.org> wrote:
>
>> [...]
>> Your kernel has the old sysfs layout. Put the  partition devices after
>> the disk device:
>>   udevadm test /block/sdc/sdc1
>
> udevadm_test: version 130
> parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/55-lfs.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/61-cdrom.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/65-pcmcia.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/81-firmware.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
> import_uevent_var: import into environment: 'MAJOR=8'
> import_uevent_var: import into environment: 'MINOR3'
> import_uevent_var: import into environment: 'DEVTYPE=partition'
> import_uevent_var: import into environment: 'PHYSDEVPATH=/devices/pci0000:00/0000:00:1d.7/usb1/1-4/1-4:1.0/host5/target5:0:0/5:0:0:0'
> import_uevent_var: import into environment: 'PHYSDEVBUS=scsi'
> import_uevent_var: import into environment: 'PHYSDEVDRIVER=sd'
> udevadm_test: looking at device '/block/sdc/sdc1' from subsystem 'block'
> udev_rules_get_name: add symlink 'block/8:33'
> match_rule: '/sys/block/sdc/sdc1/whole_disk' does not exist
> udev_rules_get_name: add symlink 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
> udev_rules_get_name: add symlink 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
> udev_node_mknod: mknod(/dev/.tmp-8-33, 060600, (8,33))
> udev_node_mknod: chmod(/dev/.tmp-8-33, 060600)
> udev_node_mknod: chown(/dev/.tmp-8-33, 0, 0)
> run_program: 'vol_id --export /dev/.tmp-8-33'
> run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: context 0x804d008 created'
> run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: log_priority=6'
> run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
> run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: dev_path='/dev''
> run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: sys_path='/sys''
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_USAGE=filesystem'
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_TYPE=vfat'
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_VERSIONúT32'
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUIDH2D-DBA5'
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUID_ENCH2D-DBA5'
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL='
> run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL_ENC='
> run_program: '/lib/udev/vol_id' returned with status 0
> udev_rules_get_name: add symlink 'disk/by-uuid/482D-DBA5'
> run_program: 'fstab_import sdc1 block/8:33 disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1 disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1 disk/by-uuid/482D-DBA5 mapper/'
> run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: context 0x804c008 created'
> run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: log_priority=6'
> run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: config_file='/etc/udev/udev.conf''
> run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: dev_path='/dev''
> run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: sys_path='/sys''
> run_program: '/lib/udev/fstab_import' returned with status 1
> udev_rules_get_name: add symlink 'usbflash1'
> udev_rules_get_name: rule applied, 'sdc1' becomes 'sdc1'
> udev_device_event: device '/block/sdc/sdc1' already in database, cleanup
> udev_node_add: creating device node '/dev/sdc1', major=8, minor3, mode\x0660, uid=0, gid\x104
> udev_node_update_symlinks: update symlink 'block/8:33' of '/block/sdc/sdc1'
> udev_db_get_devices_by_name: found index directory '/dev/.udev/names/block\x2f8:33'
> update_link: found 1 devices with name 'block/8:33'
> update_link: found '/block/sdc/sdc1' for 'block/8:33'
> update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
> update_link: 'block/8:33' with target 'sdc1' has the highest priority 0, create it
> udev_node_update_symlinks: update symlink 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1' of '/block/sdc/sdc1'
> udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-id\x2fusb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
> update_link: found 1 devices with name 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
> update_link: found '/block/sdc/sdc1' for 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1'
> update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
> update_link: 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1' with target 'sdc1' has the highest priority 0, create it
> udev_node_update_symlinks: update symlink 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1' of '/block/sdc/sdc1'
> udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-path\x2fpci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
> update_link: found 1 devices with name 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
> update_link: found '/block/sdc/sdc1' for 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1'
> update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
> update_link: 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part1' with target 'sdc1' has the highest priority 0, create it
> udev_node_update_symlinks: update symlink 'disk/by-uuid/482D-DBA5' of '/block/sdc/sdc1'
> udev_db_get_devices_by_name: found index directory '/dev/.udev/names/disk\x2fby-uuid\x2f482D-DBA5'
> update_link: found 1 devices with name 'disk/by-uuid/482D-DBA5'
> update_link: found '/block/sdc/sdc1' for 'disk/by-uuid/482D-DBA5'
> update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
> update_link: 'disk/by-uuid/482D-DBA5' with target 'sdc1' has the highest priority 0, create it
> udev_node_update_symlinks: update symlink 'usbflash1' of '/block/sdc/sdc1'
> udev_db_get_devices_by_name: found index directory '/dev/.udev/names/usbflash1'
> update_link: found 1 devices with name 'usbflash1'
> update_link: found '/block/sdc/sdc1' for 'usbflash1'
> update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >= 0
> update_link: 'usbflash1' with target 'sdc1' has the highest priority 0, create it
> udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
> udevadm_test: run: 'socket:@/org/kernel/udev/monitor'
> udev_unref: context 0x8064008 released
>
> udevadm_test: version 131
> parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/55-lfs.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/61-cdrom.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/65-pcmcia.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/79-fstab_import.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/81-firmware.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/90-hal.rules' as rules file
> parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/99-fuse.rules' as rules file
> parse_file: reading '/etc/udev/rules.d/99-local.rules' as rules file
> udev_rules_new: shrunk to 12540 bytes tokens (1045 * 12 bytes), 10421 bytes buffer
> udev_device_new_from_syspath: device 0x806f448 has devpath '/block/sdc/sdc1'
> udev_rules_apply_to_event: LINK 'block/8:33' /lib/udev/rules.d/50-udev-default.rules:3
> udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/50-udev-default.rules:64
> udev_rules_apply_to_event: MODE 0660 /lib/udev/rules.d/55-lfs.rules:86
> udev_rules_apply_to_event: IMPORT 'vol_id --export /dev/block/8:33' /lib/udev/rules.d/60-persistent-storage.rules:63
> util_run_program: 'vol_id --export /dev/block/8:33'
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_USAGE=filesystem'
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_TYPE=vfat'
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_VERSIONúT32'
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUIDH2D-DBA5'
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_UUID_ENCH2D-DBA5'
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL='
> util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL_ENC='
> util_run_program: '/lib/udev/vol_id' returned with status 0
> udev_rules_apply_to_event: LINK 'disk/by-uuid/482D-DBA5' /lib/udev/rules.d/60-persistent-storage.rules:66
> udev_rules_apply_to_event: IMPORT 'fstab_import sdc1 block/8:33 disk/by-uuid/482D-DBA5 mapper/' /lib/udev/rules.d/79-fstab_import.rules:1
> util_run_program: 'fstab_import sdc1 block/8:33 disk/by-uuid/482D-DBA5 mapper/'
> util_run_program: '/lib/udev/fstab_import' returned with status 1
> udev_rules_apply_to_event: RUN 'socket:/org/freedesktop/hal/udev_event' /etc/udev/rules.d/90-hal.rules:2
> udev_rules_apply_to_event: RUN 'socket:@/org/kernel/udev/monitor' /lib/udev/rules.d/95-udev-late.rules:7
> udev_event_execute_rules: no node name set, will use kernel name 'sdc1'
> udev_device_new_from_syspath: device 0x8070518 has devpath '/block/sdc/sdc1'
> udev_device_read_db: device 0x8070518 filled with db file data
> udev_device_update_db: created db file for '/block/sdc/sdc1' in '/dev/.udev/db/\x2fblock\x2fsdc\x2fsdc1'
> udev_node_add: creating device node '/dev/sdc1', devnum=8:33, mode\x0660, uid=0, gid=6
> update_link: '/dev/block/8:33' with target '/dev/sdc1' has the highest priority 0, create it
> update_link: '/dev/disk/by-uuid/482D-DBA5' with target '/dev/sdc1' has the highest priority 0, create it
> udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
> udevadm_test: run: 'socket:@/org/kernel/udev/monitor'

Hmm, strange, your rules still work here. Care to try if tracing shows
if reading the sysfs value goes wrong?
It shows here:
  readlink("/sys/.../usb5/5-2/subsystem", "../../../../../bus/usb"...,
1024) = 22
  lstat("/sys/.../usb5/5-2/serial", {st_mode=S_IFREG|0444,
st_size@96, ...}) = 0
  open("/sys/.../usb5/5-2/serial", O_RDONLY) = 3
  read(3, "000000009407\n", 512)          = 13
  close(3)                                = 0

This creates a "udev-trace" file:
  strace -s 256 -o udev-trace /sbin/udevadm test /block/sdc/sdc1
Can you send this to me?

Thanks,
Kay

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
                   ` (4 preceding siblings ...)
  2008-11-13 17:13 ` Kay Sievers
@ 2008-11-14 16:38 ` Mikhail Kolesnik
  2008-11-14 17:42 ` Kay Sievers
  6 siblings, 0 replies; 8+ messages in thread
From: Mikhail Kolesnik @ 2008-11-14 16:38 UTC (permalink / raw)
  To: linux-hotplug

Hello, Kay.

On Fri, 14 Nov 2008 14:04:28 +0100
"Kay Sievers" <kay.sievers@vrfy.org> wrote:

> [...] 
> > I've upgraded to 2.6.27.5 and rebuild udev 131 to be sure. Same
> > symptoms.
> >
> > It just tries to readlink /sys/block/sdc entries. May be new udev
> > expects some more in kernel options enabled? The trace and kernel
> > config files are attached.
> 
> We do not read that attribute at all. You run sysfs in the deprecated
> layout. Any reason for that? Only old distros with new kernels would
> need that.

I guess I've considered it a safe choice during a kernel upgrade at
some point.

> The current layout, which all more recent distros use is
> CONFIG_SYSFS_DEPRECATED=n. With the current layout you also get
> /sys/class/block/, which is much easier to handle for udev. You should
> see a warning printed from udev to the kernel log (dmesg) when udev
> starts up.

I was able to unset CONFIG_SYSFS_DEPRECATED_V2 from menuconfig, which
disabled invisible CONFIG_SYSFS_DEPRECATED too. Now recent udev
versions work with my rulesets. Thanks a lot.

I'm Cc'ing the linux-hotplug to be sure anyone with such a trouble can
find the answer.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Some rules do not work in udev 131 and 132
  2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
                   ` (5 preceding siblings ...)
  2008-11-14 16:38 ` Mikhail Kolesnik
@ 2008-11-14 17:42 ` Kay Sievers
  6 siblings, 0 replies; 8+ messages in thread
From: Kay Sievers @ 2008-11-14 17:42 UTC (permalink / raw)
  To: linux-hotplug

On Fri, 2008-11-14 at 18:38 +0200, Mikhail Kolesnik wrote:
> On Fri, 14 Nov 2008 14:04:28 +0100
> "Kay Sievers" <kay.sievers@vrfy.org> wrote:
> 
> > [...] 
> > > I've upgraded to 2.6.27.5 and rebuild udev 131 to be sure. Same
> > > symptoms.
> > >
> > > It just tries to readlink /sys/block/sdc entries. May be new udev
> > > expects some more in kernel options enabled? The trace and kernel
> > > config files are attached.
> > 
> > We do not read that attribute at all. You run sysfs in the deprecated
> > layout. Any reason for that? Only old distros with new kernels would
> > need that.
> 
> I guess I've considered it a safe choice during a kernel upgrade at
> some point.
> 
> > The current layout, which all more recent distros use is
> > CONFIG_SYSFS_DEPRECATED=n. With the current layout you also get
> > /sys/class/block/, which is much easier to handle for udev. You should
> > see a warning printed from udev to the kernel log (dmesg) when udev
> > starts up.
> 
> I was able to unset CONFIG_SYSFS_DEPRECATED_V2 from menuconfig, which
> disabled invisible CONFIG_SYSFS_DEPRECATED too. Now recent udev
> versions work with my rulesets. Thanks a lot.

I think I fixed it for udev 133, it seems to work fine here now with the
deprecated sysfs layout. Thanks for your help!

Btw, you can remove the NAME="%k", it's the default and does not do
anthing. Instead of the kernel name matches, you can use
ENV{DEVTYPE}="partition" and ENV{DEVTYPE}="disk" to distinguish
between a disk and a partition.

And udev by default creates these links, which should be as stable as
your custom links for this device, and not depend on any probing order
or port which is used to connect:
  /dev/disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0
  /dev/disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-part1

They are just a a bit longer. :)

Thanks,
Kay


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2008-11-14 17:42 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-12 19:00 Some rules do not work in udev 131 and 132 Mikhail Kolesnik
2008-11-12 20:31 ` Kay Sievers
2008-11-12 22:37 ` Mikhail Kolesnik
2008-11-12 22:55 ` Kay Sievers
2008-11-13 11:50 ` Mikhail Kolesnik
2008-11-13 17:13 ` Kay Sievers
2008-11-14 16:38 ` Mikhail Kolesnik
2008-11-14 17:42 ` Kay Sievers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).