[lkml]   [2008]   [Sep]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    SubjectRe: Differend udev names with different kernels
    On Wed, Sep 24, 2008 at 13:01, Tino Keitel <> wrote:
    > what's the intention of /dev/disk/by-id/?
    > My firewire hard disk seems to have different names with different
    > kernels.
    > With, it's name is
    > /dev/disk/by-id/ieee1394-0030e001e0006585:00043c:0000.
    > With someting after 2.6.27-rc7, merged with Arjan's fastboot branch,
    > the disk has the same name.
    > With 2.6.27-rc7, it is called
    > /dev/disk/by-id/scsi-1WDC_WD10EACS-00D6B0_WD-WCAU41668315.

    Seems, for some reason, the "ieee1394_id" attribute becomes readable
    because of lucky timing, which wasn't the case before.

    > One major config difference is that has CONFIG_FIREWIRE and
    > CONFIG_FIREWIRE_SBP2 set to "m", whereas the 2.6.27 kernels have set
    > them to "y". But that doesn't explain the difference between both
    > 2.6.27-rc kernels.

    I guess, it's just a not-easy-to-reproduce timing issue with the sysfs

    > Shouldn't these names be somewhat constant? Otherwise they would be
    > totally useless.

    Yeah, sure they should not change like this.

    We could just drop the ieee1394-* link creation entirely, if they
    never worked as expected. Or we can provide it as an additional link
    instead of making it skip the scsi-* link creation. Tino, care to try
    if something like the attached works for your setup and creates at
    least the scsi-links, and, if luckily timed, the ieee1394 links?

    Stefan, ieee1394 hooks into scsi logic which, i guess, creates the
    attribute _after_ event time, so udev will not see the attribute when
    the device is announced. Any idea how to fix that?

    diff --git a/rules/rules.d/60-persistent-storage.rules b/rules/rules.d/60-persistent-storage.rules
    index 5218b2c..dec83cf 100644
    --- a/rules/rules.d/60-persistent-storage.rules
    +++ b/rules/rules.d/60-persistent-storage.rules
    @@ -31,13 +31,16 @@ KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode"
    KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}"
    KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL}-part%n"

    -KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394"
    KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export %p"
    KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="scsi"
    KERNEL=="cciss?c[0-9]d[0-9]*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $tempnode", ENV{ID_BUS}="cciss"
    KERNEL=="sd*[!0-9]|sr*|cciss?c[0-9]d[0-9]*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
    KERNEL=="sd*[0-9]|cciss*p[0-9]*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"

    +# firewire
    +KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
    +KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
    # libata compat (ata-* links, like old hd* devices did create)
    KERNEL=="sd*[!0-9]|sr*", ENV{ID_VENDOR}=="ATA", PROGRAM="ata_id $tempnode", RESULT=="?*", ENV{ID_ATA_COMPAT}="$result", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}"
    KERNEL=="sd*[0-9]", ENV{ID_ATA_COMPAT}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_ATA_COMPAT}-part%n"
     \ /
      Last update: 2008-09-25 05:15    [W:0.022 / U:3.060 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site