Hello community,
here is the log from the commit of package multipath-tools for openSUSE:Factory checked in at 2016-09-05 21:16:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/multipath-tools (Old)
and /work/SRC/openSUSE:Factory/.multipath-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "multipath-tools"
Changes:
--------
--- /work/SRC/openSUSE:Factory/multipath-tools/multipath-tools.changes 2016-08-13 18:29:49.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.multipath-tools.new/multipath-tools.changes 2016-09-05 21:16:10.000000000 +0200
@@ -1,0 +2,21 @@
+Fri Aug 26 18:52:03 CEST 2016 - hare@suse.de
+
+- Fixup module name in /usr/lib/modules-load.d (bsc#986734)
+
+-------------------------------------------------------------------
+Fri Aug 26 09:10:50 CEST 2016 - hare@suse.de
+
+- multipath: fixup check from udev rules (bsc#986734)
+
+-------------------------------------------------------------------
+Wed Aug 24 12:58:32 CEST 2016 - hare@suse.de
+
+- multipathd: start daemon after udev trigger (bsc#986734)
+- Load device handler and multipath module at boot (bsc#991634)
+
+-------------------------------------------------------------------
+Fri Aug 19 15:28:48 CEST 2016 - hare@suse.de
+
+- Do not check daemon from udev rules (bsc#986734,bsc#990538)
+
+-------------------------------------------------------------------
Old:
----
multipath-tools-0.6.2+suse20160805.dcfa37d.tar.xz
New:
----
multipath-tools-0.6.2+suse20160826.4abd547.tar.xz
multipath.conf
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ multipath-tools.spec ++++++
--- /var/tmp/diff_new_pack.lmMkH3/_old 2016-09-05 21:16:11.000000000 +0200
+++ /var/tmp/diff_new_pack.lmMkH3/_new 2016-09-05 21:16:11.000000000 +0200
@@ -16,7 +16,7 @@
#
-%define version_unconverted 0.6.2+suse20160805.dcfa37d
+%define version_unconverted 0.6.2+suse20160826.4abd547
Name: multipath-tools
BuildRequires: device-mapper-devel
@@ -31,7 +31,7 @@
Requires: device-mapper >= 1.2.78
Requires: kpartx
PreReq: %insserv_prereq %fillup_prereq coreutils grep
-Version: 0.6.2+suse20160805.dcfa37d
+Version: 0.6.2+suse20160826.4abd547
Release: 0
Summary: Tools to Manage Multipathed Devices with the device-mapper
License: GPL-2.0
@@ -41,6 +41,7 @@
#FIXME: https://github.com/hreinecke/multipath-tools.git needs to
#be moved to SUSE namespace
Source: multipath-tools-%{version}.tar.xz
+Source1: multipath.conf
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %suse_version > 1220
%define _sysdir usr/lib
@@ -95,6 +96,8 @@
rm $RPM_BUILD_ROOT/%_lib/libmultipath.so
mkdir -p $RPM_BUILD_ROOT/usr/sbin
ln -sf /usr/sbin/service $RPM_BUILD_ROOT/usr/sbin/rcmultipathd
+mkdir -p $RPM_BUILD_ROOT/usr/lib/modules-load.d
+install -m 644 -D %{SOURCE1} "%buildroot/usr/lib/modules-load.d/multipath.conf"
%pre
[ -f /.buildenv ] && exit 0
@@ -144,6 +147,8 @@
%dir /%{_sysdir}/systemd/system
/%{_sysdir}/systemd/system/multipathd.service
/%{_sysdir}/systemd/system/multipathd.socket
+%dir /usr/lib/modules-load.d
+/usr/lib/modules-load.d/multipath.conf
%{_mandir}/man8/multipath.8*
%{_mandir}/man5/multipath.conf.5*
%{_mandir}/man8/multipathd.8*
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.lmMkH3/_old 2016-09-05 21:16:12.000000000 +0200
+++ /var/tmp/diff_new_pack.lmMkH3/_new 2016-09-05 21:16:12.000000000 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">https://github.com/hreinecke/multipath-tools.git</param>
- <param name="changesrevision">dcfa37d43f7c8eb1cd4f2f630c3cd4ca26022f11</param>
+ <param name="changesrevision">4abd547c2b2ba929f34183d6da768e4e239d6711</param>
</service>
</servicedata>
++++++ multipath-tools-0.6.2+suse20160805.dcfa37d.tar.xz -> multipath-tools-0.6.2+suse20160826.4abd547.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multipath-tools-0.6.2+suse20160805.dcfa37d/libmultipath/util.c new/multipath-tools-0.6.2+suse20160826.4abd547/libmultipath/util.c
--- old/multipath-tools-0.6.2+suse20160805.dcfa37d/libmultipath/util.c 2016-08-05 09:08:34.000000000 +0200
+++ new/multipath-tools-0.6.2+suse20160826.4abd547/libmultipath/util.c 2016-08-26 08:56:04.000000000 +0200
@@ -2,13 +2,16 @@
#include
#include
#include
+#include
#include
+#include
#include "debug.h"
#include "memory.h"
#include "checkers.h"
#include "vector.h"
#include "structs.h"
+#include "log.h"
size_t
strchop(char *str)
@@ -258,3 +261,59 @@
return makedev(maj, min);
}
+
+int systemd_service_enabled_in(const char *dev, const char *prefix)
+{
+ char path[PATH_SIZE], file[PATH_SIZE], service[PATH_SIZE];
+ DIR *dirfd;
+ struct dirent *d;
+ int found = 0;
+
+ snprintf(service, PATH_SIZE, "multipathd.service");
+ snprintf(path, PATH_SIZE, "%s/systemd/system", prefix);
+ condlog(3, "%s: checking for %s in %s", dev, service, path);
+
+ dirfd = opendir(path);
+ if (dirfd == NULL)
+ return 0;
+
+ while ((d = readdir(dirfd)) != NULL) {
+ char *p;
+ struct stat stbuf;
+
+ if ((strcmp(d->d_name,".") == 0) ||
+ (strcmp(d->d_name,"..") == 0))
+ continue;
+
+ if (strlen(d->d_name) < 6)
+ continue;
+
+ p = d->d_name + strlen(d->d_name) - 6;
+ if (strcmp(p, ".wants"))
+ continue;
+ snprintf(file, PATH_SIZE, "%s/%s/%s",
+ path, d->d_name, service);
+ if (stat(file, &stbuf) == 0) {
+ condlog(3, "%s: found %s", dev, file);
+ found++;
+ break;
+ }
+ }
+ closedir(dirfd);
+
+ return found;
+}
+
+int systemd_service_enabled(const char *dev)
+{
+ int found = 0;
+
+ found = systemd_service_enabled_in(dev, "/etc");
+ if (!found)
+ found = systemd_service_enabled_in(dev, "/usr/lib");
+ if (!found)
+ found = systemd_service_enabled_in(dev, "/lib");
+ if (!found)
+ found = systemd_service_enabled_in(dev, "/run");
+ return found;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multipath-tools-0.6.2+suse20160805.dcfa37d/libmultipath/util.h new/multipath-tools-0.6.2+suse20160826.4abd547/libmultipath/util.h
--- old/multipath-tools-0.6.2+suse20160805.dcfa37d/libmultipath/util.h 2016-08-05 09:08:34.000000000 +0200
+++ new/multipath-tools-0.6.2+suse20160826.4abd547/libmultipath/util.h 2016-08-26 08:56:04.000000000 +0200
@@ -10,6 +10,7 @@
int devt2devname (char *, int, char *);
dev_t parse_devt(const char *dev_t);
char *convert_dev(char *dev, int is_path_device);
+int systemd_service_enabled(const char *dev);
#define safe_sprintf(var, format, args...) \
snprintf(var, sizeof(var), format, ##args) >= sizeof(var)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multipath-tools-0.6.2+suse20160805.dcfa37d/multipath/main.c new/multipath-tools-0.6.2+suse20160826.4abd547/multipath/main.c
--- old/multipath-tools-0.6.2+suse20160805.dcfa37d/multipath/main.c 2016-08-05 09:08:34.000000000 +0200
+++ new/multipath-tools-0.6.2+suse20160826.4abd547/multipath/main.c 2016-08-26 08:56:04.000000000 +0200
@@ -676,8 +676,12 @@
fd = mpath_connect();
if (fd == -1) {
- printf("%s is not a valid multipath device path\n",
- dev);
+ condlog(3, "%s: daemon is not running", dev);
+ if (!systemd_service_enabled(dev)) {
+ printf("%s is not a valid "
+ "multipath device path\n", dev);
+ goto out;
+ }
goto out;
}
mpath_disconnect(fd);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multipath-tools-0.6.2+suse20160805.dcfa37d/multipath/multipath.rules new/multipath-tools-0.6.2+suse20160826.4abd547/multipath/multipath.rules
--- old/multipath-tools-0.6.2+suse20160805.dcfa37d/multipath/multipath.rules 2016-08-05 09:08:34.000000000 +0200
+++ new/multipath-tools-0.6.2+suse20160826.4abd547/multipath/multipath.rules 2016-08-26 08:56:04.000000000 +0200
@@ -15,7 +15,7 @@
TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin"
ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \
- PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u %k", \
+ PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -u -i %k", \
ENV{DM_MULTIPATH_DEVICE_PATH}="1", ENV{ID_FS_TYPE}="none", \
ENV{SYSTEMD_READY}="0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/multipath-tools-0.6.2+suse20160805.dcfa37d/multipathd/multipathd.service new/multipath-tools-0.6.2+suse20160826.4abd547/multipathd/multipathd.service
--- old/multipath-tools-0.6.2+suse20160805.dcfa37d/multipathd/multipathd.service 2016-08-05 09:08:34.000000000 +0200
+++ new/multipath-tools-0.6.2+suse20160826.4abd547/multipathd/multipathd.service 2016-08-26 08:56:04.000000000 +0200
@@ -1,8 +1,9 @@
[Unit]
Description=Device-Mapper Multipath Device Controller
+Wants=systemd-udev-trigger.service systemd-udev-settle.service
Before=iscsi.service iscsid.service lvm2-lvmetad.service lvm2-activation.service
Before=local-fs-pre.target blk-availability.service
-After=multipathd.socket systemd-udevd.service systemd-udev-trigger.service
+After=multipathd.socket systemd-udev-trigger.service systemd-udev-settle.service
DefaultDependencies=no
Conflicts=shutdown.target
++++++ multipath.conf ++++++
# Load device-handler and multipath module at boot
scsi_dh_alua
scsi_dh_emc
scsi_dh_rdac
dm_multipath