Package Details: multipath-tools 0.7.4-1

Git Clone URL: (read-only)
Package Base: multipath-tools
Description: Multipath tools for Linux (including kpartx)
Upstream URL:
Licenses: GPL2
Conflicts: multipath-tools-git
Submitter: xyproto
Maintainer: Bevan
Last Packager: Bevan
Votes: 78
Popularity: 0.694233
First Submitted: 2013-01-24 14:33
Last Updated: 2017-11-15 23:20

Dependencies (7)

Sources (1)

Latest Comments

Bevan commented on 2018-01-06 18:08

I think you can also add specific devices to your blacklist exception. The fact that LVM uses the devices before multipath can may suggest that adding some directives to the systemd service so that lvm only starts after multipathd may also help.

But to be honest, I have only very limited own experience with multipath setups. Maybe you should ask on the dm-devel mailing list about this.

jab416171 commented on 2018-01-06 17:06

I tried adding that, and now this is my blacklist_exceptions (output from multipath -t):

blacklist_exceptions { property "(SCSI_IDENT_.*|ID_WWN)" property "(SCSI_IDENT_|ID_WWN)" }

After rebooting, I only get 2 multipath devices that show up. There were 6 before I rebooted. The other LUNs show up, but just the individual partitions, not the "alias" I defined in multipath.conf.

Actually upon closer inspection, it appears lvm is finding and opening the devices before multipath can.

Bevan commented on 2018-01-06 10:04

jab416171: Have a look at the section "blacklist_exceptions section" in man multipath.conf. I guess your devices are missing the SCSI_IDENT_.* property. However, this is required since 0.6.0 already so I'm not sure why you didn't have the issue with 0.6.4:;a=commitdiff;h=d041591e42b69e2ff99d9cc5c1111c83ccde3207

RedHat disables this blacklisting in their distributions:

0004-RH-Remove-the-property-blacklist-exception-builtin.patch: Allow multipath to be used on devices without multiple paths. NAK'ed upstream, but requested by Red Hat

Since you can easilly change this behavior via blacklist_exceptions in multipath.conf, I wouln't like to deviate from upstream here though.

jab416171 commented on 2018-01-06 06:59

I just updated from 0.6.4 to 0.7.4, and now only two of my LUNs are showing up. There should be about 16. multipath -v3 -ll mentions this: dm-x: blacklisted, udev property missing (once for each LUN). Two of the LUNs do work, interestingly, even though they are also 'blacklisted'.

Bevan commented on 2017-11-12 12:48

On requiring systemd:

As far as I can see, the only additional feature is the systemd integration itself. If this was a package in the official repos, adding systemd as dependency would probably be the right thing to do. Here in AUR it depends on whether there are more people running their systems without systemd or more people with systemd building this package in a clean chroot. My gut feeling is that the first group is larger, so I have added systemd as an optional dependency only.

Enabling multipathd.{service,socket} fails:

Running "systemctl enable multipathd.service" currently fails because multipathd.socket is lacking an [Install] section. This is an upstream issue which will be reported soon.

Bevan commented on 2017-10-19 20:53

daniel_shub: Thanks for the hint! Although this package does not require systemd, it probably provides some additional functionality if systemd is installed while building. I will have a look at this (probably not before next week).

Although, if the additional functionality is limited, it may be a good idea to leave systemd as an optional dependency for those who want it (as it is currently the case for ceph).

daniel_shub commented on 2017-10-19 20:13

Although systemd is included in the base group and therefore does not need to be included in depends, it is not in the base-devel group and therefore does need to be included in makedepends to enable the package to be built in a clean chroot:

Bevan commented on 2017-09-30 20:29

alaricljs: Thanks for the report! This is an upstream bug which should be easy to fix. I added a corresponding patch. Could you please confirm that it solves the issue?

alaricljs commented on 2017-09-30 17:31

Don't know if this is upstream but the build dies on me because I have a Samba domain, previous versions have worked.

ln -sf
install: creating directory 'docs/man'
'docs/libdmmp.h.3' -> 'docs/man/libdmmp.h.3'
cat libdmmp/libdmmp.h | \
perl docs/ > /tmp/MYDOMAIN\mylogin/tmp.VAFmG0J7Zh
/bin/sh: line 1: /tmp/MYDOMAINmylogin/tmp.VAFmG0J7Zh: No such file or directory

I obfuscated my domain and login, but as you can see since there is a \ it needs to be quoted or escaped.

Case_Of commented on 2017-09-20 20:45

@Bevan: It works now, thanks. And you're right, I do not have systemd here.

Bevan commented on 2017-09-20 19:45

Case_Of: This looks like you don't use systemd on your system and there is an upstream bug in this situation. I added a patch which should resolve this issue. Can you confirm it works now and that you are indeed having no systemd installed?

Case_Of commented on 2017-09-20 19:33

An error occurs during build:

cc -O2 -g -pipe -Wall -Wextra -Wformat=2 -Werror=implicit-int -Werror=implicit-function-declaration -Werror=format-security -Wno-sign-compare -Wno-unused-parameter -Wno-clobbered -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -DLIB_STRING=\"lib64\" -DRUN_DIR=\"run\" -fPIE -DPIE -I../libmultipath -I../libmpathpersist -I../libmpathcmd -I../third-party -c -o main.o main.c
main.c: In function 'do_sd_notify':
main.c:182:2: error: implicit declaration of function 'sd_notify'; did you mean 'do_sd_notify'? [-Werror=implicit-function-declaration]
sd_notify(0, sd_notify_status());
main.c: In function 'post_config_state':
main.c:194:22: warning: unused variable 'old_state' [-Wunused-variable]
enum daemon_status old_state = running_state;
main.c: In function 'set_config_state':
main.c:212:22: warning: unused variable 'old_state' [-Wunused-variable]
enum daemon_status old_state = running_state;
At top level:
main.c:172:13: warning: 'do_sd_notify' defined but not used [-Wunused-function]
static void do_sd_notify(enum daemon_status old_state)
cc1: some warnings being treated as errors
make[1]: *** [../ main.o] Error 1
make[1]: Leaving directory '/home/quentin/multipath-tools/src/multipath-tools/multipathd'
make: *** [Makefile:24: recurse] Error 2
==> ERROR: A failure occurred in build().

kalsan commented on 2017-02-25 12:41

Would you mind adding 'armv7h' to the supported architectures? It's the only thing missing to install this package on a Raspberry Pi. Tested (modified the PKGBUILD and updated arch line only), works fine.

Bevan commented on 2017-02-02 21:31

Thanks. That should be fixed now.

hsafe commented on 2017-01-31 12:31


[hsafe@thinkt multipath-tools]$ curl -O
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0

Bevan commented on 2017-01-01 20:03

@ugjka: Thanks. This should be fixed now.

ugjka commented on 2017-01-01 15:44

curl: (22) The requested URL returned error: 404 Not Found
==> ERROR: Failure while downloading

justin8 commented on 2016-02-19 16:19

@LunaVorax thanks for that, I applied that patch. However, since I'm no longer working with any systems that use multipath, so I'll orphan this package now since I can't test it any more.

LunaVorax commented on 2016-02-19 13:43

Won't link correctly.

In the prepare() function, add those two lines:
sed -i 's/lsystemd-daemon/lsystemd/g' libmultipath/Makefile
sed -i 's/lsystemd-daemon/lsystemd/g' multipathd/Makefile

justin8 commented on 2015-09-09 13:07

Haha. I have no idea how that one got through. Thanks. Fixed now.

Muhaha commented on 2015-09-08 20:24

I believe the symbol link create in package() is wrong.
ln -s "${pkgdir}/usr/lib/" ""

You try to create a link in the dir "./" with a link named "" there point to "${pkgdir}/usr/lib/"
what you want to create is a link in the dir "${pkgdir}/usr/lib/" named "" that point to "".
Like this
ln -s "" "${pkgdir}/usr/lib/"

justin8 commented on 2013-12-20 01:29

Updated to 0.5.0.

@xyproto I sent the email when I started on updating the pkgbuild and then around an hour later posted the new one in comments until I could upload it to the AUR once pnorcks had either disowned it or just uploaded the new one himself.

justin8 commented on 2013-12-20 01:28

Updated to 0.5.0.

@xyproto I sent the email when I started on updating the pkgbuild and then around an hour later posted the new one in comments until I could upload it to the AUR.

pnorcks commented on 2013-12-20 00:58

I disowned the package, so feel free to adopt it.

xyproto commented on 2013-12-19 12:05

justin8, please rather nag the current maintainer into updating this package.

If you have more interest in this package than him and is quicker at updating it, perhaps you could reach an agreement where perhaps you maintain this package instead of him.

It's good that pnorcks has a reference PKGBUILD when updating this package, though. (And just to nitpick, all AUR packages are unofficial. :) )

justin8 commented on 2013-12-19 11:05

Until this is officially updated. Here is a working pkgbuild for 0.5.0:

justin8 commented on 2013-08-22 01:30

The multipath.conf is very outdated; scsi_id hasn't accepted those options for a long time (somewhere between v096 and v147 of udev this changed) Unified diff for the current scsi_id syntax is below:

--- multipath.conf 2013-01-24 20:59:46.000000000 +1000
+++ 2013-08-22 11:29:04.692535750 +1000
@@ -3,6 +3,6 @@

defaults {
- getuid_callout "/usr/lib/udev/scsi_id -g -u -d /dev/%n"
+ getuid_callout "/usr/lib/udev/scsi_id --whitelisted --device=/dev/%n"

xyproto commented on 2013-01-24 14:41

Moved from [community] in connection with the Winter Cleanup.