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...

Attachment: 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

Reply via email to