LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   udev rule failing to create iscsi symlinks! (https://www.linuxquestions.org/questions/linux-newbie-8/udev-rule-failing-to-create-iscsi-symlinks-603153/)

patrarch 11-28-2007 10:08 PM

udev rule failing to create iscsi symlinks!
 
Hello. Any udev gurus out there?

I have a udev rule that simply creates a symbolic link in /dev given an iscsi device:

BUS="scsi", SYSFS{vendor}="EQLOGIC ", PROGRAM="/root/devpath2alias %k %n", SYMLINK="%c"

I know this rule is valid because it works perfectly when I run 'udevstart' manually, but I want the rule to run at boot, which it does not.

To generate the link name, I have a script that uses iscsi-ls to retrieve the TARGET NAME of an iscsi connection at /dev/sd[whatever]. Again, it works great - but not at boot.

Looking at the boot log, I noticed that the device nodes (/dev/sd[whatever]) are created AFTER my rule is executed! That is,

...
Nov 28 20:37:25 pndtest1 udev[7773]: configured rule in '/etc/udev/rules.d/95-local.rules' at line 4 applied, added symlink '%c'
...
Nov 28 20:37:26 pndtest1 udev[5145]: creating device node '/dev/sde4'
...

Is it possible that my rule is failing because the device node has not been assigned yet? If so, what would be the correct rule to write then? If not, why in the world is this happening?


Many many thanks for any help you can give me.

patrarch

tuxrules 11-29-2007 03:42 PM

No Udev guru here but did you refer to the guide?
http://reactivated.net/writing_udev_rules.html

Also it may be a typo but I see a _space_ at the end of
Code:

SYSFS{vendor}="EQLOGIC "
May be that's causing you problems..

datadesigner 10-21-2021 01:01 PM

Here's how I do that...
 
I see this is an ancient post but its still an issue that comes up from time to time...so... In RHEL 7, I identify the iSCSI disks using their UUID. This must fire at the appropriate time because it consistently works. It creates aliases in a oracleasm directory under /dev (which is a nice way to keep them organized away from the other devices, IMHO) and sets up the ownership and permissions. Hope this helps others...

KERNEL=="sd*1", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="360014054087765d0ea44fa8ba672b084", OWNER="oracle", GROUP="dba", MODE="0660", SYMLINK+="oracleasm/asm-grid-disk1-dc3"


All times are GMT -5. The time now is 02:52 PM.