Bruce Dubbs wrote: > Matt Burgess wrote: >> On Wed, 2012-11-28 at 14:12 -0600, Bruce Dubbs wrote: >> >>> Checking against a slightly older build with udev 182, I only >>> have two entries in /dev/disk/by-path, /dev/hda (CD-ROM) and >>> /dev/sdc (which appears to be a leftover usb entry). >> Ah, now, there's a bit of a clue. Plugging in a USB stick I get >> the attached, which includes an ID_PATH entry and results in a >> by-path symlink as expected. So, is this a hotplug vs. coldplug >> thing, perhaps? > > Here's an interesting observation. Take a look at /run/udev/links. > ASCII \x2f is a /.
I'm pretty sure that's a forward mapping of all the links that udev has
created, so it knows what (in /dev) to delete when the disk device goes
away. :-) The contents of the directories, at least, are the block
major:minor numbers of the symlinks' targets, on my system (though I'm
still on udev-180something, so it's possible this changed).
Might be hotplug versus coldplug. Not sure how best to tell though...
> There's a comment in udev-builtin-path_id.c about lacking support for
> the ATA transport class, but I can't see that being relevant here;
> it should be using the SCSI transport class, no?
It should be, yeah. Especially since, from the file you attached:
> ID_ATA_SATA=1
it's a SATA drive. I'm pretty sure all of those show up as SCSI.
What does a udevadm info --attribute-walk on this device's /sys
directory show?
> The best I can tell right now is that ID_PATH should be set in
> src/udev/udev-builtin-path_id.c line 536.
Yep, but that code doesn't run unless the IMPORT{builtin}="path_id"
clause gets run in the rules. (In case that isn't obvious.) The
persistent-storage.rules file has this:
ENV{DEVTYPE}=="disk", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id"
which should run it, except on virtual devices, which at least the
examples posted so far, are not. Hmm...
> Checking against a slightly older build with udev 182, I only have
> two entries in /dev/disk/by-path, /dev/hda (CD-ROM) and /dev/sdc
> (which appears to be a leftover usb entry).
Wait, /dev/hda? You might actually be using the ATA transport class,
not the SCSI one. Is your disk hdb, or sda/sdb? The latter should
work; the former won't.
> I get:
>
> DEVTYPE=partition
>
> but no ID_PATH
Is the rule that imports parent device attributes not firing or not
working somehow? That's this one:
# for partitions import parent information
ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
I wonder if the {parent} import type got broken somehow...
signature.asc
Description: OpenPGP digital signature
-- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
