openzfs / zfs

OpenZFS on Linux and FreeBSD
https://openzfs.github.io/openzfs-docs
Other
10.56k stars 1.74k forks source link

60-vdev.rules - udev rules do not match location of vdev_id #1085

Closed Alphat-PC closed 11 years ago

Alphat-PC commented 11 years ago

$ dmesg | grep udev [ 7.919592] systemd-udevd[4534]: starting version 195 [ 9.124140] systemd-udevd[4608]: failed to execute '/lib/udev/vdev_id' '/lib/udev/vdev_id -d sda': No such file or directory [ 9.135593] systemd-udevd[4610]: failed to execute '/lib/udev/vdev_id' '/lib/udev/vdev_id -d sdc': No such file or directory

I have udev-195 installed. 'vdev_id' gets installed into /usr/lib/udev/, but 60-vdev.rules uses /lib/udev/vdev_id instead.

Here is the files list: $ equery f zfs -f obj Searching for zfs ... Contents of sys-fs/zfs-9999: /bin/zpool_layout /etc/init.d/zfs /etc/init.d/zfs-shutdown /etc/zfs/vdev_id.conf.multipath.example /etc/zfs/vdev_id.conf.sas_direct.example /etc/zfs/vdev_id.conf.sas_switch.example /etc/zfs/zdev.conf /etc/zfs/zdev.conf.dragon.example /etc/zfs/zdev.conf.supermicro.example /etc/zfs/zdev.conf.x4550.example /lib64/libnvpair.so.1.0.1 /lib64/libuutil.so.1.0.1 /lib64/libzfs.so.1.0.1 /lib64/libzpool.so.1.0.1 /sbin/mount.zfs /sbin/zdb /sbin/zfs /sbin/zinject /sbin/zpios /sbin/zpool /sbin/zstreamdump /sbin/ztest /usr/include/libspl/assert.h /usr/include/libspl/atomic.h /usr/include/libspl/attr.h /usr/include/libspl/devid.h /usr/include/libspl/ia32/sys/asm_linkage.h /usr/include/libspl/libdevinfo.h /usr/include/libspl/libgen.h /usr/include/libspl/libshare.h /usr/include/libspl/limits.h /usr/include/libspl/locale.h /usr/include/libspl/note.h /usr/include/libspl/priv.h /usr/include/libspl/rpc/types.h /usr/include/libspl/rpc/xdr.h /usr/include/libspl/sscanf.h /usr/include/libspl/statcommon.h /usr/include/libspl/stdio.h /usr/include/libspl/stdlib.h /usr/include/libspl/string.h /usr/include/libspl/strings.h /usr/include/libspl/stropts.h /usr/include/libspl/synch.h /usr/include/libspl/sys/acl.h /usr/include/libspl/sys/acl_impl.h /usr/include/libspl/sys/bitmap.h /usr/include/libspl/sys/byteorder.h /usr/include/libspl/sys/callb.h /usr/include/libspl/sys/cmn_err.h /usr/include/libspl/sys/compress.h /usr/include/libspl/sys/cred.h /usr/include/libspl/sys/debug.h /usr/include/libspl/sys/dkio.h /usr/include/libspl/sys/dklabel.h /usr/include/libspl/sys/dktp/fdisk.h /usr/include/libspl/sys/feature_tests.h /usr/include/libspl/sys/file.h /usr/include/libspl/sys/frame.h /usr/include/libspl/sys/int_limits.h /usr/include/libspl/sys/int_types.h /usr/include/libspl/sys/inttypes.h /usr/include/libspl/sys/isa_defs.h /usr/include/libspl/sys/kmem.h /usr/include/libspl/sys/kstat.h /usr/include/libspl/sys/list.h /usr/include/libspl/sys/list_impl.h /usr/include/libspl/sys/machelf.h /usr/include/libspl/sys/mhd.h /usr/include/libspl/sys/mkdev.h /usr/include/libspl/sys/mntent.h /usr/include/libspl/sys/mnttab.h /usr/include/libspl/sys/mount.h /usr/include/libspl/sys/note.h /usr/include/libspl/sys/param.h /usr/include/libspl/sys/priv.h /usr/include/libspl/sys/processor.h /usr/include/libspl/sys/sdt.h /usr/include/libspl/sys/stack.h /usr/include/libspl/sys/stat.h /usr/include/libspl/sys/stropts.h /usr/include/libspl/sys/sunddi.h /usr/include/libspl/sys/sysevent.h /usr/include/libspl/sys/sysevent/eventdefs.h /usr/include/libspl/sys/sysmacros.h /usr/include/libspl/sys/systeminfo.h /usr/include/libspl/sys/systm.h /usr/include/libspl/sys/time.h /usr/include/libspl/sys/types.h /usr/include/libspl/sys/types32.h /usr/include/libspl/sys/tzfile.h /usr/include/libspl/sys/uio.h /usr/include/libspl/sys/utsname.h /usr/include/libspl/sys/va_list.h /usr/include/libspl/sys/varargs.h /usr/include/libspl/sys/vnode.h /usr/include/libspl/sys/vtoc.h /usr/include/libspl/sys/zone.h /usr/include/libspl/thread.h /usr/include/libspl/tzfile.h /usr/include/libspl/ucred.h /usr/include/libspl/umem.h /usr/include/libspl/unistd.h /usr/include/libspl/zone.h /usr/include/libzfs/libnvpair.h /usr/include/libzfs/libuutil.h /usr/include/libzfs/libuutil_common.h /usr/include/libzfs/libuutil_impl.h /usr/include/libzfs/libzfs.h /usr/include/libzfs/libzfs_impl.h /usr/include/libzfs/sys/arc.h /usr/include/libzfs/sys/avl.h /usr/include/libzfs/sys/avl_impl.h /usr/include/libzfs/sys/bplist.h /usr/include/libzfs/sys/bpobj.h /usr/include/libzfs/sys/dbuf.h /usr/include/libzfs/sys/ddt.h /usr/include/libzfs/sys/dmu.h /usr/include/libzfs/sys/dmu_impl.h /usr/include/libzfs/sys/dmu_objset.h /usr/include/libzfs/sys/dmu_traverse.h /usr/include/libzfs/sys/dmu_tx.h /usr/include/libzfs/sys/dmu_zfetch.h /usr/include/libzfs/sys/dnode.h /usr/include/libzfs/sys/dsl_dataset.h /usr/include/libzfs/sys/dsl_deadlist.h /usr/include/libzfs/sys/dsl_deleg.h /usr/include/libzfs/sys/dsl_dir.h /usr/include/libzfs/sys/dsl_pool.h /usr/include/libzfs/sys/dsl_prop.h /usr/include/libzfs/sys/dsl_scan.h /usr/include/libzfs/sys/dsl_synctask.h /usr/include/libzfs/sys/efi_partition.h /usr/include/libzfs/sys/fm/fs/zfs.h /usr/include/libzfs/sys/fm/protocol.h /usr/include/libzfs/sys/fm/util.h /usr/include/libzfs/sys/fs/zfs.h /usr/include/libzfs/sys/metaslab.h /usr/include/libzfs/sys/metaslab_impl.h /usr/include/libzfs/sys/nvpair.h /usr/include/libzfs/sys/nvpair_impl.h /usr/include/libzfs/sys/refcount.h /usr/include/libzfs/sys/rrwlock.h /usr/include/libzfs/sys/sa.h /usr/include/libzfs/sys/sa_impl.h /usr/include/libzfs/sys/spa.h /usr/include/libzfs/sys/spa_boot.h /usr/include/libzfs/sys/spa_impl.h /usr/include/libzfs/sys/space_map.h /usr/include/libzfs/sys/txg.h /usr/include/libzfs/sys/txg_impl.h /usr/include/libzfs/sys/u8_textprep.h /usr/include/libzfs/sys/u8_textprep_data.h /usr/include/libzfs/sys/uberblock.h /usr/include/libzfs/sys/uberblock_impl.h /usr/include/libzfs/sys/uio_impl.h /usr/include/libzfs/sys/unique.h /usr/include/libzfs/sys/uuid.h /usr/include/libzfs/sys/vdev.h /usr/include/libzfs/sys/vdev_disk.h /usr/include/libzfs/sys/vdev_file.h /usr/include/libzfs/sys/vdev_impl.h /usr/include/libzfs/sys/xvattr.h /usr/include/libzfs/sys/zap.h /usr/include/libzfs/sys/zap_impl.h /usr/include/libzfs/sys/zap_leaf.h /usr/include/libzfs/sys/zfs_acl.h /usr/include/libzfs/sys/zfs_context.h /usr/include/libzfs/sys/zfs_ctldir.h /usr/include/libzfs/sys/zfs_debug.h /usr/include/libzfs/sys/zfs_dir.h /usr/include/libzfs/sys/zfs_fuid.h /usr/include/libzfs/sys/zfs_rlock.h /usr/include/libzfs/sys/zfs_sa.h /usr/include/libzfs/sys/zfs_stat.h /usr/include/libzfs/sys/zfs_vfsops.h /usr/include/libzfs/sys/zfs_vnops.h /usr/include/libzfs/sys/zfs_znode.h /usr/include/libzfs/sys/zil.h /usr/include/libzfs/sys/zil_impl.h /usr/include/libzfs/sys/zio.h /usr/include/libzfs/sys/zio_checksum.h /usr/include/libzfs/sys/zio_compress.h /usr/include/libzfs/sys/zio_impl.h /usr/include/libzfs/sys/zrlock.h /usr/include/libzfs/zfs_comutil.h /usr/include/libzfs/zfs_deleg.h /usr/include/libzfs/zfs_fletcher.h /usr/include/libzfs/zfs_namecheck.h /usr/include/libzfs/zfs_prop.h /usr/include/libzfs/zpios-ctl.h /usr/lib/udev/rules.d/60-vdev.rules /usr/lib/udev/rules.d/60-zpool.rules /usr/lib/udev/rules.d/60-zvol.rules /usr/lib/udev/rules.d/90-zfs.rules /usr/lib/udev/vdev_id /usr/lib/udev/zpool_id /usr/lib/udev/zvol_id /usr/lib64/libnvpair.so /usr/lib64/libuutil.so /usr/lib64/libzfs.so /usr/lib64/libzpool.so /usr/share/bash-completion/zfs /usr/share/doc/zfs-9999/AUTHORS.xz /usr/share/doc/zfs-9999/ChangeLog.xz /usr/share/doc/zfs-9999/README.markdown.xz /usr/share/man/man5/vdev_id.conf.5.xz /usr/share/man/man8/vdev_id.8.xz /usr/share/man/man8/zdb.8.xz /usr/share/man/man8/zfs.8.xz /usr/share/man/man8/zpool.8.xz /usr/share/man/man8/zstreamdump.8.xz /usr/share/zfs/linuxrc

                    System Settings

Portage 2.2.0_alpha142 (hardened/linux/amd64/selinux, gcc-4.7.2, glibc-2.16.0, 3.6.6-pax x86_64)

                    Package Settings

sys-fs/zfs-9999 was built with the following: USE="custom-cflags (multilib) rootfs (selinux) (-kernel-builtin) -static-libs -test-suite"

sys-fs/udev-195 was built with the following: USE="acl gudev hwdb keymap (multilib) openrc (selinux) -doc -introspection -static-libs"

ryao commented 11 years ago

@Alphat-PC Thanks for the report. This regression was caused by changes by the systemd developers to udev that crept into Gentoo. My time for the next few days is extremely limited, but I should be able to produce a fix on the weekend. Feel free to query for the status of this if you do not see anything done by Sunday.

ryao commented 11 years ago

I have opened pull request #1086 with a fix for this. I will backport it to Gentoo Linux when I find time.