The code and scripts in this directory may be removed at some later
date. The last cleanup (i.e. purge of unused files) of this
directory occurred between sg3_utils version 1.22 and 1.23 .
No other code or script in this package currently uses the contents
of this directory. The contents of this directory are not
maintained by the author.

The rescan-scsi-bus.sh script was copied long ago from
http://www.garloff.de/kurt/linux (under the "Rescan SCSI bus"
heading) and was later placed in this directory. Since others
do use the version of this script found in this package then
rescan-scsi-bus.sh was updated in sg3_utils version 1.35 and
was moved to the scripts directory.

Douglas Gilbert
9th January 2013
