mapscsi is a Linux SCSI device mapping tool which solves the problem of SCSI device names being allocated in the order of probing. The problem is that when an additional device is added and has a lower host, channel, or ID than existing devices, the other devices will all be shuffled along on the next reboot (i.e. /dev/sdb becomes /dev/sdc, etc.). mapscsi solves this by creating symbolic links to Linux SCSI devices after scanning all SCSI devices, using information probed from the devices and a set of mapping rules containing device templates to dynamically create link names. mapscsi can fetch Fibre Channel world wide names and loop IDs when using Qlogic HBAs with the qla2x00 driver. mapscsi is a simple alternative to devfs, and provides the added ability of including drive information such as vendor/product/Fibre channel address details, PCI location, and serial numbers in device link names. mapscsi is particularily useful in Fibre Channel SAN environments.
Release Notes: Moved generic SCSI functions into a separate file to make code sharing with saftemon easier, and fixed a typo bug with tape devices. The program should now scan tape devices by properly forming numeric device names such as /dev/st0.
Release Notes: A NULL pointer dereference that occured if not all sg devices could be mapped was fixed.
Release Notes: Fetching of WWPN, WWNN, loop ID, and port ID from Fibre Channel devices with the Qlogic qla2x00 4.46.5 driver, new substitution codes and rule variables for Fibre Channel attributes, space-stripping and non-alphanumeric character stripping at the time of making links (rules with device names that had spaces or special characters will need to be changed), a new option to disable saving state to /var/state/mapscsi/devmap, a new option to disable previous link removal, background mode doesn't depend on saving state to disk, and misc. bugfixes.
Release Notes: A potential buffer overun in get_scsi_dev_info was fixed, and a fix was made for kernel headers that don't define SCSI_IOCTL_GET_PCI.
Release Notes: PCI dev:slot.function information is now fetched on 2.4.4+ kernels. The use of PCI information lets you fix the device registration to the slot the adapter card is in, so the order in which the host adapters drivers are loaded is no longer an issue. A bug that arose from changes to dynamic memory allocation was fixed.