[CentOS] Finding module name for SCSI host adapter for a given SCSI target

Wed Jun 4 02:19:32 UTC 2008
Robert Nichols <rnicholsNOSPAM at comcast.net>

Given a path to a SCSI device, e.g. "DEV=/dev/st1", I need to find
the name of the kernel module for the SCSI host adapter that controls
that target.  The objective is to be able to unload and reload the
kernel module when the drive gets into a state that requires a SCSI
bus reset for recovery.

The best I've been able to come up with so far is:

   SCSIMOD=$(cat /sys/class/scsi_tape/${DEV##*/}/device/../../scsi_host:host*/proc_name)

Anyone know of a way that is a bit less convoluted?

-- 
Bob Nichols     "NOSPAM" is really part of my email address.
                 Do NOT delete it.