[CentOS] udev by-id symlinks randomly missing for tape drives on centos5

Thu Feb 5 19:27:32 UTC 2009
Pasi Kärkkäinen <pasik at iki.fi>

On Thu, Feb 05, 2009 at 09:12:33PM +0200, Pasi Kärkkäinen wrote:
> Hello!
> 
> I'm having problems with udev /dev/tape/by-id/ symlinks.. 
> it seems symlinks to tape drives are sometimes (randomly) missing after reboot. 
> 
> Server in question has IBM TS3200 tape library connected with 2 drives in
> it.. so /proc/scsi/scsi shows 3 devices: 2 tape drives, and 1 medium changer (tape library).
> 
> So I should have 3 symlinks in /dev/tape/by-id/ directory.. 2 symlinks to tape drives, 
> and 1 symlink to mediumchanger/tapelibrary.
> 
> Running 'udevtrigger' _sometimes_ creates the missing links, and sometimes
> it doesn't. 
> 
> Sometimes if all the symlinks are there to begin with, and you run 'udevtrigger', 
> some of the tape drive symlinks might get removed too.. The symlink for the
> mediumchanger seems to be there always though.. 
> 
> Has anyone seen this behaviour? How to fix it? 
> 
> Whenever I run 'cat /proc/scsi/scsi' I can see all of the devices listed there.
> IBM 'itdt' tape drive / tapelibrary diagnostic tool works OK too, and
> always shows all the devices.
> 
> I don't have any errors in the dmesg/syslog, and the devices work OK if I use
> /dev/nst* (tape drives) or /dev/sg* (mediumchanger/tapelibrary) devicenames to access them.
> 
> I'd like to be able to use /dev/tape/by-id/<foo> symlinks to make sure correct devices are accesssed.
> 
> The server in question is running CentOS 5.2 x86_64 (with latest updates installed).
> 
> Any thoughts? 
> 

http://rhn.redhat.com/errata/RHBA-2009-0076.html

"These updated packages fix the following bugs:

* race conditions in "scsi_id", which may have resulted in devices not
being created as per udev rules, have been resolved."

in addition to other fixes.. wondering if it could be that bug? Or is this
more likely just some (default) configuration issue? 

I haven't changed any udev configuration.. or actually I haven't done _any_
special configuration for the tape library.

-- Pasi