diff --git a/extras/multipath/ChangeLog b/extras/multipath/ChangeLog index 730d6e34a6..9296b4db68 100644 --- a/extras/multipath/ChangeLog +++ b/extras/multipath/ChangeLog @@ -1,3 +1,6 @@ +2003-12-29 multipath-012 + * refresh doc + * add the uninstall target in Makefile 2003-12-22 multipath-010 * tweak the install target in Makefile * stop passing fds as argument : this change enable a strict diff --git a/extras/multipath/Makefile b/extras/multipath/Makefile index 99036a6a00..3f13532e16 100644 --- a/extras/multipath/Makefile +++ b/extras/multipath/Makefile @@ -55,5 +55,9 @@ install: install -d /etc/hotplug.d/scsi/ install -m 755 multipath.hotplug /etc/hotplug.d/scsi/ +uninstall: + rm /etc/hotplug.d/scsi/multipath.hotplug + rm $(bindir)/$(EXEC) + # Code dependencies main.o: main.c main.h sg_include.h diff --git a/extras/multipath/README b/extras/multipath/README index 6a5637de4b..951c2788bc 100644 --- a/extras/multipath/README +++ b/extras/multipath/README @@ -3,6 +3,7 @@ Dependancies : o libdevmapper : comes with device-mapper-XXXX.tar.gz See www.sistina.com + This lib has been dropped in the multipath tree o libsysfs : comes with sysutils See ftp.kernel.org/pub/linux/utils/kernel/hotplug/ @@ -34,8 +35,9 @@ In 2.5+, we rely on libsysfs (sysutils) to access to sysfs device enums. the wwid is retrieved by a switch fonction. Only White -Listed HW can filled this field. For now only -StorageWorks HW is White Listed. (See notes) +Listed HW can filled this field. For now every FC array +HW listed in kernel's devinfo.c is White Listed, assuming +the WWID is stored is the SCSI-3 standard 0x83 EVPD page. When all_paths is filled, we coalesce the paths and store the result in mp array. Each mp is a struct like this : @@ -47,25 +49,21 @@ struct multipath { }; When mp is filled, the device maps are fed to the kernel -through libdevmapper. Stale paths (failed TUR) are -discarded. +through libdevmapper. Notes : ======= -o make sure you have enough /dev/sg* nodes - (/dev/MAKEDEV if necesary) +o On 2.4, make sure you have enough /dev/sg* nodes + (/dev/MAKEDEV if necesary). Same goes for /dev/sd* o path coalescing relies on a path unique id being found. This unique id, lacking a standard method, is vendor specific. A switch function (get_unique_id) is present and an example function is provided for storageworks - arrays (get_storageworks_wwid). Feel free to enrich + arrays (get_evpd_wwid). Feel free to enrich with hardware you have at hand :) -o Something goes wrong with sd.o, qla2200 & dm-mod - refcounting : I can't unload these modules after exec. - o The kernel does NOT manage properly ghosts paths with StorageWorks HW. Seems nobody cares after a load of posts to linux-scsi. diff --git a/extras/multipath/multipath.hotplug b/extras/multipath/multipath.hotplug index db7894cb99..8d60f4d2c6 100644 --- a/extras/multipath/multipath.hotplug +++ b/extras/multipath/multipath.hotplug @@ -1,3 +1,3 @@ . /etc/hotplug/hotplug.functions sleep 1 -mesg `/root/multipath scsi $DEVPATH` +mesg `/sbin/multipath scsi $DEVPATH`