From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kay Sievers" Date: Thu, 13 Nov 2008 17:13:33 +0000 Subject: Re: Some rules do not work in udev 131 and 132 Message-Id: List-Id: References: <20081112210052.6e7d8bb8@amilo> In-Reply-To: <20081112210052.6e7d8bb8@amilo> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable To: linux-hotplug@vger.kernel.org On Thu, Nov 13, 2008 at 12:50, Mikhail Kolesnik wrote: > On Wed, 12 Nov 2008 23:55:51 +0100 > "Kay Sievers" 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 fi= le > 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 rule= s 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 ru= les 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' a= s 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 f= ile > 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 fi= le > 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=3D8' > import_uevent_var: import into environment: 'MINOR3' > import_uevent_var: import into environment: 'DEVTYPE=3Dpartition' > import_uevent_var: import into environment: 'PHYSDEVPATH=3D/devices/pci00= 00: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=3Dscsi' > import_uevent_var: import into environment: 'PHYSDEVDRIVER=3Dsd' > 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_A5= 00000000025423-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 0x80= 4d008 created' > run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: log_priority= =3D6' > run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: config_file= =3D'/etc/udev/udev.conf'' > run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: dev_path=3D'= /dev'' > run_program: '/lib/udev/vol_id' (stderr) 'libudev: udev_new: sys_path=3D'= /sys'' > run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_USAGE=3Dfilesystem' > run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_TYPE=3Dvfat' > run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_VERSION=FAT32' > 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=3D' > run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL_ENC=3D' > 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_V= oyager_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: contex= t 0x804c008 created' > run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: log_pr= iority=3D6' > run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: config= _file=3D'/etc/udev/udev.conf'' > run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: dev_pa= th=3D'/dev'' > run_program: '/lib/udev/fstab_import' (stderr) 'libudev: udev_new: sys_pa= th=3D'/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=3D8, minor3, mode= =0660, uid=3D0, gid=104 > udev_node_update_symlinks: update symlink 'block/8:33' of '/block/sdc/sdc= 1' > udev_db_get_devices_by_name: found index directory '/dev/.udev/names/bloc= k\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 >=3D 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_V= oyager_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_Voya= ger_A500000000025423-0:0-part1' > update_link: found '/block/sdc/sdc1' for 'disk/by-id/usb-Corsair_Flash_Vo= yager_A500000000025423-0:0-part1' > update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >=3D 0 > update_link: 'disk/by-id/usb-Corsair_Flash_Voyager_A500000000025423-0:0-p= art1' 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-u= sb-0:4:1.0-scsi-0:0:0:0-part1' > update_link: compare (our own) priority of '/block/sdc/sdc1' 0 >=3D 0 > update_link: 'disk/by-path/pci-0000:00:1d.7-usb-0:4:1.0-scsi-0:0:0:0-part= 1' with target 'sdc1' has the highest priority 0, create it > udev_node_update_symlinks: update symlink 'disk/by-uuid/482D-DBA5' of '/b= lock/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 >=3D 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/usbf= lash1' > 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 >=3D 0 > update_link: 'usbflash1' with target 'sdc1' has the highest priority 0, c= reate 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 fi= le > 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 rule= s 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 ru= les 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' a= s 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 f= ile > 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 fi= le > 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 byt= es buffer > udev_device_new_from_syspath: device 0x806f448 has devpath '/block/sdc/sd= c1' > udev_rules_apply_to_event: LINK 'block/8:33' /lib/udev/rules.d/50-udev-de= fault.rules:3 > udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/50-udev-default.rule= s: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=3Dfilesystem' > util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_TYPE=3Dvfat' > util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_VERSION=FAT32' > 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=3D' > util_run_program: '/lib/udev/vol_id' (stdout) 'ID_FS_LABEL_ENC=3D' > 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-u= uid/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 ma= pper/' > 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/ud= ev/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/sd= c1' > udev_device_read_db: device 0x8070518 filled with db file data > udev_device_update_db: created db file for '/block/sdc/sdc1' in '/dev/.ud= ev/db/\x2fblock\x2fsdc\x2fsdc1' > udev_node_add: creating device node '/dev/sdc1', devnum=3D8:33, mode=0660= , uid=3D0, gid=3D6 > update_link: '/dev/block/8:33' with target '/dev/sdc1' has the highest pr= iority 0, create it > update_link: '/dev/disk/by-uuid/482D-DBA5' with target '/dev/sdc1' has th= e 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) =3D 22 lstat("/sys/.../usb5/5-2/serial", {st_mode=3DS_IFREG|0444, st_size@96, ...}) =3D 0 open("/sys/.../usb5/5-2/serial", O_RDONLY) =3D 3 read(3, "000000009407\n", 512) =3D 13 close(3) =3D 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