On Tue, Nov 01, 2005 at 06:01:56PM -0800, Patrick Mansfield wrote: > On Wed, Nov 02, 2005 at 02:06:15AM +0100, Kay Sievers wrote: > > On Tue, Nov 01, 2005 at 04:35:31PM -0800, Patrick Mansfield wrote: > > > > But it still would not match, per the issue below, right? > > > > Right, it wouldn't work. > > > > You want this: > > ENV{ID_FULL_PATH}=="disk/by-id/scsi-360a98000686f68656c6e7a416f4b6849" SYMLINK+="media-files" > > > > but why don't you just do: > > ENV{ID_BUS}=="scsi", ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b6849", SYMLINK+="media-files" > > > > The second already works, is independent from all other rules and I think > > is simpler. > > Yes, I just disagree with it being simpler for all busses/devices. > > I was thinking of the sys admin or a tool looking at the current > /dev/disk/by-* and adding rule(s) based on those values to a udev rule > file. Sure, that may be easier. But such a tool is only useful if the devices are already present on the system, right? Then you can read all current available ID_* variables from the udev database and compose a nice rule from it. :) > And is there a way to rename or add /dev entries without removing and > adding back a device? You can run udevstart again, if its not configured to do some weird stuff. The current devel kernel has a "uevent" file, which triggers the hotplug event again, this could be used to create additional configured links. Also: ACTION=add DEVPATH=/block/sdm /sbin/udev block would do it. Or do you mean adding a link temporarily, so that it get tracked and removed when the device goes away? > Using ID_BUS and ID_SERIAL via the following lines like this works: > > KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="scsi" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b6849", SYMLINK+="user/databaseA" > KERNEL=="sd*[0-9]|dasd*[0-9]", ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b6849", SYMLINK+="user/databaseA-part%n" > > KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="scsi" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f55", SYMLINK+="user/databaseB" > KERNEL=="sd*[0-9]", ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f55", SYMLINK+="user/databaseB-part%n" > > Adding the devices then creates: > > [root@elm3a49 rules.d]# ls -l /dev/user > total 0 > lrwxrwxrwx 1 root root 6 Nov 1 17:46 databaseA -> ../sdm > lrwxrwxrwx 1 root root 7 Nov 1 17:47 databaseA-part1 -> ../sdm1 > lrwxrwxrwx 1 root root 6 Nov 1 17:46 databaseB -> ../sdi > lrwxrwxrwx 1 root root 7 Nov 1 17:46 databaseB-part1 -> ../sdi1 > lrwxrwxrwx 1 root root 7 Nov 1 17:46 databaseB-part2 -> ../sdi2 If you get a buch of these rules, it may be easier to enclose them like this: KERNEL!="sd*[!0-9]|dasd*[0-9]", GOTO="custom_end" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f55", SYMLINK+="user/databaseA-part%n" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f56", SYMLINK+="user/databaseB-part%n" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f57", SYMLINK+="user/databaseC-part%n" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f58", SYMLINK+="user/databaseE-part%n" ENV{ID_SERIAL}=="360a98000686f68656c6e7a416f4b2f59", SYMLINK+="user/databaseF-part%n" LABEL="custom_end" Kay -- dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel