diff options
Diffstat (limited to 'community')
-rw-r--r-- | community/multipath-tools/APKBUILD | 75 | ||||
-rw-r--r-- | community/multipath-tools/disable-rbd.patch | 14 | ||||
-rw-r--r-- | community/multipath-tools/fix-yield.patch | 13 | ||||
-rw-r--r-- | community/multipath-tools/multipath-tools.conf | 113 | ||||
-rw-r--r-- | community/multipath-tools/multipath-tools.confd | 2 | ||||
-rw-r--r-- | community/multipath-tools/multipath-tools.initd | 37 |
6 files changed, 254 insertions, 0 deletions
diff --git a/community/multipath-tools/APKBUILD b/community/multipath-tools/APKBUILD new file mode 100644 index 0000000000..acba5f81d4 --- /dev/null +++ b/community/multipath-tools/APKBUILD @@ -0,0 +1,75 @@ +# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org> +pkgname="multipath-tools" +pkgver=0.6.3 +pkgrel=0 +pkgdesc="Device Mapper Multipathing Driver" +url="http://christophe.varoqui.free.fr/" +arch="all" +license="GPL" +depends="eudev" +makedepends="lvm2-dev libaio-dev readline-dev ncurses-dev eudev-dev + userspace-rcu-dev" +install= +subpackages="$pkgname-doc" +source="http://dev.alpinelinux.org/archive/multipath-tools/multipath-tools-$pkgver.tar.gz + disable-rbd.patch + fix-yield.patch + + multipath-tools.conf + multipath-tools.confd + multipath-tools.initd + " + +builddir="$srcdir"/multipath-tools-$pkgver +snapshot() { + cd "$srcdir" + git clone http://git.opensvc.com/multipath-tools/.git + cd multipath-tools + git archive --format=tar.gz --prefix=multipath-tools-$pkgver/ \ + -o ../multipath-tools-$pkgver.tar.gz $pkgver \ + && scp ../multipath-tools-$pkgver.tar.gz dev.alpinelinux.org:archive/multipath-tools/ +} + +prepare() { + cd "$builddir" + for i in $source; do + case $i in + *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; + esac + done +} + +build() { + cd $builddir + make prefix="/usr" \ + sysconfdir="/etc" \ + mandir="/usr/share/man" \ + infodir="/usr/share/info" || return 1 +} + +package() { + cd $builddir + make DESTDIR="$pkgdir" install || return 1 + install -D -m644 "$srcdir"/$pkgname.conf $pkgdir/etc/multipath.conf + install -D -m644 "$srcdir"/$pkgname.confd $pkgdir/etc/conf.d/multipathd + install -D -m755 "$srcdir"/$pkgname.initd $pkgdir/etc/init.d/multipathd +} + +md5sums="0ed3487eb82b2b635b1a4fbd4057d43d multipath-tools-0.6.3.tar.gz +7ddfcd64ee0b871a35cb72f22cc2b6bf disable-rbd.patch +e19d7ed5492a23db6527fbc9c52198c3 fix-yield.patch +d364a5ef62c23da92d81baf90e7b6192 multipath-tools.conf +52dcde0446669e9d19813b28f3dd622b multipath-tools.confd +e2032d8042fcc4b015b1dc1cc66cabe5 multipath-tools.initd" +sha256sums="8a8dae70b7040e5c8bf187f3ab4113cf91a3644265bcca87f982befc6cec6ea1 multipath-tools-0.6.3.tar.gz +7a1683035f65a6be6d4ec98ba77fbef95f5b518ada93d53f3cfe8fdc73d2e638 disable-rbd.patch +805707a503a6ffda81c235ac1f3e986d52e16be75783839a02cb927f59423cec fix-yield.patch +e5df29fc6cf01789db179e20aaac2705878975eb826157bd9f824a3f86a8dcd5 multipath-tools.conf +b13587b0865ea8c39f51e2177e4fbc0ada237408a5807fab836ff4b5ebcb3e37 multipath-tools.confd +bb7846f6c2bfdfb4ee50fe1965271909a9864b2b913d4892bb406d66f794ce9a multipath-tools.initd" +sha512sums="669fa3f915da29769b21f8fa81227a4d8aefc779d54378b3899ec06d62508382ce8924978feb81b0b92abdcdf2c4b9206ea32f3231b7594475c4de76d13fb694 multipath-tools-0.6.3.tar.gz +2460a2d0e3787a3862e9258c3821ac13819c7b1cbe03abc9b53a728ef502086692d643a15c655d6b73c909d917387548c08b182bc82d698e5b4c64a77b1e6858 disable-rbd.patch +6f55b2c0ae6696ff819fc3f5ea5e59407db06bdac0097709034325e2a53cfd1025d4134df343f952bb13be4b1058b38ce54ffcb9e2faf2f53331afc529052cc1 fix-yield.patch +e81462b22c0cbc92ea935d7544b9f9a0c4ccbcf13f3bc03dadf6de96407c9cf49964c9bbf02f12a134e1255c66421c6fde39d54b15eef975e8df81bdc88b2213 multipath-tools.conf +303c62b7506b207ba2266310e7a701d76151e6f1544b44faf666dfabdc59c5aeb98544d380988e18b4a7b8235e4000380f025c4dd6c95d45a7b8b51bbf39dce5 multipath-tools.confd +1ca0a8be7ddd0d57b810ab4905bc35d6b89b924ef528a7ee77dad162b86b990e0b86ef714f63857def4a61e30bfabe7a3980f624d63b80108408dd876a7c468c multipath-tools.initd" diff --git a/community/multipath-tools/disable-rbd.patch b/community/multipath-tools/disable-rbd.patch new file mode 100644 index 0000000000..892a49b18b --- /dev/null +++ b/community/multipath-tools/disable-rbd.patch @@ -0,0 +1,14 @@ +diff --git a/libmultipath/checkers/Makefile b/libmultipath/checkers/Makefile +index 11ab76f..db276ef 100644 +--- a/libmultipath/checkers/Makefile ++++ b/libmultipath/checkers/Makefile +@@ -13,8 +13,7 @@ LIBS= \ + libcheckdirectio.so \ + libcheckemc_clariion.so \ + libcheckhp_sw.so \ +- libcheckrdac.so \ +- libcheckrbd.so ++ libcheckrdac.so + + all: $(LIBS) + diff --git a/community/multipath-tools/fix-yield.patch b/community/multipath-tools/fix-yield.patch new file mode 100644 index 0000000000..e93d3bce25 --- /dev/null +++ b/community/multipath-tools/fix-yield.patch @@ -0,0 +1,13 @@ +diff --git a/multipathd/uxlsnr.c b/multipathd/uxlsnr.c +index 7a9faf3..4e6a197 100644 +--- a/multipathd/uxlsnr.c ++++ b/multipathd/uxlsnr.c +@@ -180,7 +180,7 @@ void * uxsock_listen(uxsock_trigger_fn uxsock_trigger, void * trigger_data) + pthread_mutex_unlock(&client_lock); + condlog(0, "%s: failed to realloc %d poll fds", + "uxsock", 1 + num_clients); +- pthread_yield(); ++ sched_yield(); + continue; + } + old_clients = num_clients; diff --git a/community/multipath-tools/multipath-tools.conf b/community/multipath-tools/multipath-tools.conf new file mode 100644 index 0000000000..11194176df --- /dev/null +++ b/community/multipath-tools/multipath-tools.conf @@ -0,0 +1,113 @@ +## +## This is a template multipath-tools configuration file +## Uncomment the lines relevent to your environment +## +#defaults { +# udev_dir /dev +# polling_interval 10 +# selector "round-robin 0" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# prio_callout /bin/true +# path_checker directio +# rr_min_io 100 +# rr_weight priorities +# failback immediate +# no_path_retry fail +# user_friendly_names no +#} +#blacklist { +# wwid 26353900f02796769 +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z][[0-9]*]" +# devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]" +# device { +# vendor DEC.* +# product MSA[15]00 +# } +#} +#blacklist_exceptions { +# devnode "^dasd[c-d]+[0-9]*" +# wwid "IBM.75000000092461.4d00.34" +#} +#multipaths { +# multipath { +# wwid 3600508b4000156d700012000000b0000 +# alias yellow +# path_grouping_policy multibus +# path_checker directio +# path_selector "round-robin 0" +# failback manual +# rr_weight priorities +# no_path_retry 5 +# rr_min_io 100 +# } +# multipath { +# wwid 1DEC_____321816758474 +# alias red +# } +#} +#devices { +# device { +# vendor "COMPAQ " +# product "HSV110 (C)COMPAQ" +# path_grouping_policy multibus +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# path_checker directio +# path_selector "round-robin 0" +# hardware_handler "0" +# failback 15 +# rr_weight priorities +# no_path_retry queue +# rr_min_io 100 +# product_blacklist LUN_Z +# } +# device { +# vendor "COMPAQ " +# product "MSA1000 " +# path_grouping_policy multibus +# } +#} + +#defaults { +# udev_dir /dev +# user_friendly_names yes +#} + +#blacklist { +# devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" +# devnode "^hd[a-z]" +# devnode "^sda" +# devnode "^sdb" +# devnode "^sdc" +# devnode "^sdd" +# devnode "^sda[0-9]" +# devnode "^sdb[0-9]" +# device { +# vendor DELL +# product "PERC|Universal" +# } +#} + +#devices { +# device { +# vendor DELL +# product MD3000i +# hardware_handler "1 rdac" +# path_checker rdac +# path_grouping_policy group_by_prio +# prio_callout "/sbin/mpath_prio_rdac /dev/%n" +# failback immediate +# getuid_callout "/lib/udev/scsi_id -g -u -s /block/%n" +# } +#} + +#multipaths { +# multipath { +# device { +# vendor DELL +# product MD3000i +# } +# } +#} + diff --git a/community/multipath-tools/multipath-tools.confd b/community/multipath-tools/multipath-tools.confd new file mode 100644 index 0000000000..979aa96e2d --- /dev/null +++ b/community/multipath-tools/multipath-tools.confd @@ -0,0 +1,2 @@ +rc_before="lvm" +rc_after="iscsid" diff --git a/community/multipath-tools/multipath-tools.initd b/community/multipath-tools/multipath-tools.initd new file mode 100644 index 0000000000..14f28efccf --- /dev/null +++ b/community/multipath-tools/multipath-tools.initd @@ -0,0 +1,37 @@ +#!/sbin/openrc-run +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo-x86/sys-fs/multipath-tools/files/rc-multipathd,v 1.5 2009/03/17 22:48:13 solar Exp $ + +depend() { + after firewall +} + +do_nodes() { + for dev in $(ls /dev/mapper/mpath*) + do + kpartx -a $dev + done +} + +undo_nodes() { + for dev in $(ls /dev/mapper/mpath*) + do + kpartx -d $dev + done +} + +start() { + ebegin "Starting multipathd" + start-stop-daemon --start --quiet --make-pidfile \ + --pidfile /var/run/multipathd.pid --exec /sbin/multipathd + do_nodes + eend $? +} + +stop() { + ebegin "Stopping multipathd" + undo_nodes + start-stop-daemon --stop --quiet --retry --pidfile /var/run/multipathd.pid + eend $? +} |