Bug 689957

Summary: [5.6] udevd rules cannot handle more than 10 st/nst devices
Product: Red Hat Enterprise Linux 5 Reporter: Debbie Johnson <dejohnso>
Component: udevAssignee: Harald Hoyer <harald>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: high Docs Contact:
Priority: high    
Version: 5.6CC: ajb2, jfeeney, kvolny, ndoane, pknirsch
Target Milestone: rcKeywords: Regression
Target Release: 5.7   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-07-21 11:13:50 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 707606    
Attachments:
Description Flags
diff of dev rules showing propsed change none

Description Debbie Johnson 2011-03-22 21:03:08 UTC
Description of problem:
/etc/udev/rules.d/50-udev.rules was updated during the rollup to EL5.6, adding a tape/by-path tree

We have 2 FC interfaces on one machine, looking at 7 FC tape drives (2 paths - 14 devices detected)

/dev/tape/by-path is picking up all 7 drives (14 devices), however /dev/tape/by-id has started consistently missing one of them.

# ls -l /dev/tape/by-path/
total 0
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a0013132b4:0x0000000000000000-nst-nst -> ../../nst0
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a0013132b4:0x0000000000000000-st -> ../../st0
lrwxrwxrwx 1 root root 11 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a001313fec:0x0000000000000000-nst-nst -> ../../nst11
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a001313fec:0x0000000000000000-st -> ../../st11
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a0013141a8:0x0000000000000000-nst-nst -> ../../nst8
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a0013141a8:0x0000000000000000-st -> ../../st8
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a00131426c:0x0000000000000000-nst-nst -> ../../nst9
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a00131426c:0x0000000000000000-st -> ../../st9
lrwxrwxrwx 1 root root 11 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a0013144e0:0x0000000000000000-nst-nst -> ../../nst10
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a0013144e0:0x0000000000000000-st -> ../../st10
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a001314b10:0x0000000000000000-nst-nst -> ../../nst1
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a001314b10:0x0000000000000000-st -> ../../st1
lrwxrwxrwx 1 root root 11 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a001314b48:0x0000000000000000-nst-nst -> ../../nst12
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.0-fc-0x500110a001314b48:0x0000000000000000-st -> ../../st12
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a0013132b4:0x0000000000000000-nst-nst -> ../../nst6
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a0013132b4:0x0000000000000000-st -> ../../st6
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a001313fec:0x0000000000000000-nst-nst -> ../../nst4
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a001313fec:0x0000000000000000-st -> ../../st4
lrwxrwxrwx 1 root root 11 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a0013141a8:0x0000000000000000-nst-nst -> ../../nst13
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a0013141a8:0x0000000000000000-st -> ../../st13
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a00131426c:0x0000000000000000-nst-nst -> ../../nst2
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a00131426c:0x0000000000000000-st -> ../../st2
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a0013144e0:0x0000000000000000-nst-nst -> ../../nst3
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a0013144e0:0x0000000000000000-st -> ../../st3
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a001314b10:0x0000000000000000-nst-nst -> ../../nst7
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a001314b10:0x0000000000000000-st -> ../../st7
lrwxrwxrwx 1 root root 10 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a001314b48:0x0000000000000000-nst-nst -> ../../nst5
lrwxrwxrwx 1 root root 9 Jan 25 11:26 pci-0000:86:00.1-fc-0x500110a001314b48:0x0000000000000000-st -> ../../st5

# ls -l /dev/tape/by-id/
total 0
lrwxrwxrwx 1 root root 10 Jan 25 11:26 scsi-200900d0710200002 -> ../../sg42
lrwxrwxrwx 1 root root 10 Jan 25 11:26 scsi-3500110a0013132b6 -> ../../nst6
lrwxrwxrwx 1 root root 11 Jan 25 11:26 scsi-3500110a0013141aa -> ../../nst13
lrwxrwxrwx 1 root root 10 Jan 25 11:26 scsi-3500110a00131426e -> ../../nst9
lrwxrwxrwx 1 root root 11 Jan 25 11:26 scsi-3500110a0013144e2 -> ../../nst10
lrwxrwxrwx 1 root root 10 Jan 25 11:26 scsi-3500110a001314b12 -> ../../nst7
lrwxrwxrwx 1 root root 11 Jan 25 11:26 scsi-3500110a001314b4a -> ../../nst12


As we rely on /dev/tape/by-id/* for backups in order to avoid fc path changes messing up drive references, the change has introduced a regression for us and needs to be fixed fairly quickly.

Version-Release number of selected component (if applicable):
RHEL 5 U 6

How reproducible:
consistent..  customer has fixed issue with the 50-udev.rules
and I will be attaching file asap.  Customer would like this to be fixed as soon as possible in the release cycle.

Comment 1 Debbie Johnson 2011-03-22 21:06:40 UTC
Created attachment 486896 [details]
diff of dev rules showing propsed change

Comment 2 Debbie Johnson 2011-03-22 21:14:34 UTC
More Information on What Was Wrong..

The script had been messed up and was looking for /dev/(n)st[0-9]* instead of /dev/(n)st*[0-9] - a subtle but important difference (note the position of the wildcard...)

The following diff against udev-095-14.24.el5, in order of changes:

1: fixes the /dev/tape/by-id wildcard placements and correctly places *-st + *-nst entries.

2: fixes bogus "*-nst-nst" entries in /dev/tape/by-path

3: Correctly identifies changers in /dev/tape/by-id

4: adds *-sg entries for tape devices into /dev/tape/by-id
   This is critical for utilities such as smartctl and tapeinfo in order to get drive status while there is a scsi reservation on the character device. In particular the Bacula package requires this to avoid having to jump through hoops every time a job completes.

Comment 5 Debbie Johnson 2011-05-06 03:17:52 UTC
Reassigned..

Comment 7 Harald Hoyer 2011-06-01 12:56:23 UTC
(In reply to comment #1)
> Created attachment 486896 [details]
> diff of dev rules showing propsed change

oh my... an .rtf document of a diff :)

Comment 9 Alan Brown 2011-06-10 11:05:00 UTC
It wasn't an rtf when I submitted it :)

Comment 11 errata-xmlrpc 2011-07-21 11:13:50 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-1046.html