[device-mapper-multipath] device-mapper-multipath-0.4.9-45

Benjamin Marzinski bmarzins at fedoraproject.org
Sun Mar 3 04:39:07 UTC 2013


commit d1207a7795f6efc52e321e735a92d7b3d80aaaba
Author: Benjamin Marzinski <bmarzins at redhat.com>
Date:   Sat Mar 2 17:03:30 2013 -0600

    device-mapper-multipath-0.4.9-45
    
    Updated to latest upstrem 0.4.9 code: multipath-tools-130222
      (git commit id: 67b82ad6fe280caa1770025a6bb8110b633fa136)
    Refresh 0001-RH-dont_start_with_no_config.patch
    Modify 0002-RH-multipath.rules.patch
    Modify 0003-RH-Make-build-system-RH-Fedora-friendly.patch
    Refresh 0004-RH-multipathd-blacklist-all-by-default.patch
    Refresh 0005-RH-add-mpathconf.patch
    Refresh 0006-RH-add-find-multipaths.patch
    Add 0008-RH-revert-partition-changes.patch
    Rename 0008-RH-RHEL5-style-partitions.patch to
           0009-RH-RHEL5-style-partitions.patch
    Rename 0009-RH-dont-remove-map-on-enomem.patch to
           0010-RH-dont-remove-map-on-enomem.patch
    Rename 0010-RH-deprecate-uid-gid-mode.patch to
           0011-RH-deprecate-uid-gid-mode.patch
    Rename 0013-RH-kpartx-msg.patch to 0012-RH-kpartx-msg.patch
    Rename 0035-RHBZ-883981-cleanup-rpmdiff-issues.patch to
           0013-RHBZ-883981-cleanup-rpmdiff-issues.patch
    Rename 0039-RH-handle-other-sector-sizes.patch to
           0014-RH-handle-other-sector-sizes.patch
    Rename 0040-RH-fix-output-buffer.patch to 0015-RH-fix-output-buffer.patch
    Add 0016-RH-dont-print-ghost-messages.patch
    Add 0017-RH-fix-sigusr1.patch
      * Actually this fixes a number of issues related to signals
    Rename 0018-RH-remove-config-dups.patch to 0018-RH-fix-factorize.patch
      * just the part that isn't upstream
    Add 0019-RH-fix-sockets.patch
      * makes abstract multipathd a cli sockets use the correct name.
    Set find_multipaths in the default config

 .gitignore                                         |    1 +
 0001-RH-dont_start_with_no_config.patch            |   12 +-
 0002-RH-multipath.rules.patch                      |   37 +-
 0003-RH-Make-build-system-RH-Fedora-friendly.patch |   44 +-
 0004-RH-multipathd-blacklist-all-by-default.patch  |   14 +-
 0005-RH-add-mpathconf.patch                        |   30 +-
 0006-RH-add-find-multipaths.patch                  |   88 ++--
 0008-RH-revert-partition-changes.patch             |   45 ++
 ...s.patch => 0009-RH-RHEL5-style-partitions.patch |   38 +-
 ...atch => 0010-RH-dont-remove-map-on-enomem.patch |    8 +-
 ...e.patch => 0011-RH-deprecate-uid-gid-mode.patch |    0
 0011-RH-use-sync-support.patch                     |   17 -
 0012-RH-change-configs.patch                       |  541 -------------------
 ...RH-kpartx-msg.patch => 0012-RH-kpartx-msg.patch |    8 +-
 ...> 0013-RHBZ-883981-cleanup-rpmdiff-issues.patch |   50 +-
 0014-RH-dm_reassign.patch                          |   80 ---
 ...atch => 0014-RH-handle-other-sector-sizes.patch |    0
 ...buffer.patch => 0015-RH-fix-output-buffer.patch |    8 +-
 0015-RH-selector_change.patch                      |   17 -
 0016-RH-dont-print-ghost-messages.patch            |   18 +
 0016-RH-retain_hwhandler.patch                     |  426 ---------------
 0017-RH-fix-sigusr1.patch                          |   82 +++
 0018-RH-fix-factorize.patch                        |   17 +
 0018-RH-remove-config-dups.patch                   |  152 ------
 0019-RH-detect-prio.patch                          |  319 -----------
 0019-RH-fix-sockets.patch                          |   48 ++
 0020-RH-netapp-config.patch                        |   21 -
 0021-RH-fix-oom-adj.patch                          |   21 -
 0022-RHBZ-864368-disable-libdm-failback.patch      |   58 --
 0023-RHBZ-866291-update-documentation.patch        |  107 ----
 0024-RH-start-multipathd-service-before-lvm.patch  |   11 -
 0025-RH-fix-systemd-start-order.patch              |   18 -
 0026-RH-fix-mpathpersist-fns.patch                 |   62 ---
 0027-RH-default-partition-delimiters.patch         |   15 -
 0028-RH-storagetek-config.patch                    |   30 -
 0029-RH-kpartx-retry.patch                         |   34 --
 0030-RH-early-blacklist.patch                      |  569 --------------------
 0031-RHBZ-882060-fix-null-strncmp.patch            |   66 ---
 0032-RH-make-path-fd-readonly.patch                |   17 -
 ...dont-disable-libdm-failback-for-sync-case.patch |  111 ----
 0034-RHBZ-887737-check-for-null-key.patch          |   28 -
 0036-UP-fix-state-handling.patch                   |   38 --
 0037-UP-fix-params-size.patch                      |   17 -
 0038-RH-fix-multipath.rules.patch                  |   18 -
 device-mapper-multipath.spec                       |  105 ++--
 multipath.conf                                     |    1 +
 sources                                            |    2 +-
 47 files changed, 428 insertions(+), 3021 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8c66e89..763ac01 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@ multipath-tools-091027.tar.gz
 /multipath-tools-120123.tgz
 /multipath-tools-120613.tgz
 /multipath-tools-120821.tgz
+/multipath-tools-130222.tgz
diff --git a/0001-RH-dont_start_with_no_config.patch b/0001-RH-dont_start_with_no_config.patch
index 7efd925..e894632 100644
--- a/0001-RH-dont_start_with_no_config.patch
+++ b/0001-RH-dont_start_with_no_config.patch
@@ -2,15 +2,15 @@
  multipathd/multipathd.service |    1 +
  1 file changed, 1 insertion(+)
 
-Index: multipath-tools-110916/multipathd/multipathd.service
+Index: multipath-tools-130222/multipathd/multipathd.service
 ===================================================================
---- multipath-tools-110916.orig/multipathd/multipathd.service
-+++ multipath-tools-110916/multipathd/multipathd.service
+--- multipath-tools-130222.orig/multipathd/multipathd.service
++++ multipath-tools-130222/multipathd/multipathd.service
 @@ -2,6 +2,7 @@
  Description=Device-Mapper Multipath Device Controller
- Before=iscsi.service iscsid.service
+ Before=iscsi.service iscsid.service lvm2-activation-early.service
  After=syslog.target
 +ConditionPathExists=/etc/multipath.conf
+ DefaultDependencies=no
+ Conflicts=shutdown.target
  
- [Service]
- Type=forking
diff --git a/0002-RH-multipath.rules.patch b/0002-RH-multipath.rules.patch
index 32eee62..a910dc1 100644
--- a/0002-RH-multipath.rules.patch
+++ b/0002-RH-multipath.rules.patch
@@ -1,23 +1,17 @@
 ---
- multipath/Makefile        |    6 +++---
- multipath/multipath.rules |   29 +++++++++++++++++++++++------
- 2 files changed, 26 insertions(+), 9 deletions(-)
+ multipath/Makefile        |    3 +++
+ multipath/multipath.rules |   24 ++++++++++++++++++++++++
+ 2 files changed, 27 insertions(+)
 
-Index: multipath-tools-120821/multipath/multipath.rules
+Index: multipath-tools-130222/multipath/multipath.rules
 ===================================================================
---- multipath-tools-120821.orig/multipath/multipath.rules
-+++ multipath-tools-120821/multipath/multipath.rules
-@@ -1,7 +1,24 @@
--#
--# udev rules for multipathing.
--# The persistent symlinks are created with the kpartx rules
--#
+--- /dev/null
++++ multipath-tools-130222/multipath/multipath.rules
+@@ -0,0 +1,24 @@
 +# multipath wants the devmaps presented as meaninglful device names
 +# so name them after their devmap name
 +SUBSYSTEM!="block", GOTO="end_mpath"
- 
--# socket for uevents
--SUBSYSTEM=="block", RUN+="socket:/org/kernel/dm/multipath_event"
++
 +ENV{MPATH_SBIN_PATH}="/sbin"
 +TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin"
 +
@@ -31,23 +25,21 @@ Index: multipath-tools-120821/multipath/multipath.rules
 +	RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
 +
 +KERNEL!="dm-*", GOTO="end_mpath"
-+ACTION!="change", GOTO="end_mpath"
 +ENV{DM_UUID}=="mpath-?*|part[0-9]*-mpath-?*", OPTIONS+="link_priority=10"
++ACTION!="change", GOTO="end_mpath"
 +ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath"
 +ENV{DM_SUSPENDED}=="1", GOTO="end_mpath"
 +ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath"
-+RUN+="$env{MPATH_SBIN_PATH}/kpartx -a -p p $tempnode"
++RUN+="$env{MPATH_SBIN_PATH}/kpartx -a $tempnode"
 +LABEL="end_mpath"
-Index: multipath-tools-120821/multipath/Makefile
+Index: multipath-tools-130222/multipath/Makefile
 ===================================================================
---- multipath-tools-120821.orig/multipath/Makefile
-+++ multipath-tools-120821/multipath/Makefile
-@@ -21,15 +21,15 @@ $(EXEC): $(OBJS)
+--- multipath-tools-130222.orig/multipath/Makefile
++++ multipath-tools-130222/multipath/Makefile
+@@ -21,12 +21,15 @@ $(EXEC): $(OBJS)
  install:
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
  	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)/
--	$(INSTALL_PROGRAM) -d $(DESTDIR)/etc/udev/rules.d
--	$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/etc/udev/rules.d/
 +	$(INSTALL_PROGRAM) -d $(DESTDIR)/lib/udev/rules.d
 +	$(INSTALL_PROGRAM) -m 644 multipath.rules $(DESTDIR)/lib/udev/rules.d/62-multipath.rules
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
@@ -56,7 +48,6 @@ Index: multipath-tools-120821/multipath/Makefile
  	$(INSTALL_PROGRAM) -m 644 $(EXEC).conf.5.gz $(DESTDIR)$(man5dir)
  
  uninstall:
--	rm $(DESTDIR)/etc/udev/rules.d/multipath.rules
 +	rm $(DESTDIR)/lib/udev/rules.d/62-multipath.rules
  	rm $(DESTDIR)$(bindir)/$(EXEC)
  	rm $(DESTDIR)$(mandir)/$(EXEC).8.gz
diff --git a/0003-RH-Make-build-system-RH-Fedora-friendly.patch b/0003-RH-Make-build-system-RH-Fedora-friendly.patch
index bc5d17d..f293c80 100644
--- a/0003-RH-Make-build-system-RH-Fedora-friendly.patch
+++ b/0003-RH-Make-build-system-RH-Fedora-friendly.patch
@@ -9,16 +9,16 @@ Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
 :100644 100644 21e4ad4... 06d79c0... M	kpartx/Makefile
 :100644 100644 32d9ef5... 25e1483... M	multipathd/Makefile
  Makefile.inc             |    2 +-
- kpartx/Makefile          |    8 ++++----
+ kpartx/Makefile          |   10 +++++-----
  libmpathpersist/Makefile |    7 ++-----
  libmultipath/Makefile    |    2 ++
  multipathd/Makefile      |    1 +
- 5 files changed, 10 insertions(+), 10 deletions(-)
+ 5 files changed, 11 insertions(+), 11 deletions(-)
 
-Index: multipath-tools-120613/Makefile.inc
+Index: multipath-tools-130222/Makefile.inc
 ===================================================================
---- multipath-tools-120613.orig/Makefile.inc
-+++ multipath-tools-120613/Makefile.inc
+--- multipath-tools-130222.orig/Makefile.inc
++++ multipath-tools-130222/Makefile.inc
 @@ -29,7 +29,7 @@ multipathdir = $(TOPDIR)/libmultipath
  mandir      = $(prefix)/usr/share/man/man8
  man5dir     = $(prefix)/usr/share/man/man5
@@ -28,11 +28,11 @@ Index: multipath-tools-120613/Makefile.inc
  syslibdir   = $(prefix)/$(LIB)
  libdir	    = $(prefix)/$(LIB)/multipath
  unitdir     = $(prefix)/lib/systemd/system
-Index: multipath-tools-120613/kpartx/Makefile
+Index: multipath-tools-130222/kpartx/Makefile
 ===================================================================
---- multipath-tools-120613.orig/kpartx/Makefile
-+++ multipath-tools-120613/kpartx/Makefile
-@@ -26,10 +26,10 @@ $(EXEC): $(OBJS)
+--- multipath-tools-130222.orig/kpartx/Makefile
++++ multipath-tools-130222/kpartx/Makefile
+@@ -26,17 +26,17 @@ $(EXEC): $(OBJS)
  install: $(EXEC) $(EXEC).8
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
  	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
@@ -47,10 +47,18 @@ Index: multipath-tools-120613/kpartx/Makefile
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
  	$(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
  
-Index: multipath-tools-120613/multipathd/Makefile
+ uninstall:
+ 	rm -f $(DESTDIR)$(bindir)/$(EXEC)
+ 	rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz
+-	rm -f $(DESTDIR)$(libudevdir)/kpartx_id
++#	rm -f $(DESTDIR)$(libudevdir)/kpartx_id
+ 
+ clean:
+ 	rm -f core *.o $(EXEC) *.gz
+Index: multipath-tools-130222/multipathd/Makefile
 ===================================================================
---- multipath-tools-120613.orig/multipathd/Makefile
-+++ multipath-tools-120613/multipathd/Makefile
+--- multipath-tools-130222.orig/multipathd/Makefile
++++ multipath-tools-130222/multipathd/Makefile
 @@ -35,6 +35,7 @@ install:
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
  	$(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
@@ -59,10 +67,10 @@ Index: multipath-tools-120613/multipathd/Makefile
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(unitdir)
  	$(INSTALL_PROGRAM) -m 644 $(EXEC).service $(DESTDIR)$(unitdir)
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(mandir)
-Index: multipath-tools-120613/libmultipath/Makefile
+Index: multipath-tools-130222/libmultipath/Makefile
 ===================================================================
---- multipath-tools-120613.orig/libmultipath/Makefile
-+++ multipath-tools-120613/libmultipath/Makefile
+--- multipath-tools-130222.orig/libmultipath/Makefile
++++ multipath-tools-130222/libmultipath/Makefile
 @@ -46,9 +46,11 @@ install:
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
  	$(INSTALL_PROGRAM) -m 755 $(LIBS) $(DESTDIR)$(syslibdir)/$(LIBS)
@@ -75,10 +83,10 @@ Index: multipath-tools-120613/libmultipath/Makefile
  
  clean:
  	rm -f core *.a *.o *.gz *.so *.so.*
-Index: multipath-tools-120613/libmpathpersist/Makefile
+Index: multipath-tools-130222/libmpathpersist/Makefile
 ===================================================================
---- multipath-tools-120613.orig/libmpathpersist/Makefile
-+++ multipath-tools-120613/libmpathpersist/Makefile
+--- multipath-tools-130222.orig/libmpathpersist/Makefile
++++ multipath-tools-130222/libmpathpersist/Makefile
 @@ -28,17 +28,14 @@ $(LIBS):
  install: $(LIBS)
  	$(INSTALL_PROGRAM) -d $(DESTDIR)$(syslibdir)
diff --git a/0004-RH-multipathd-blacklist-all-by-default.patch b/0004-RH-multipathd-blacklist-all-by-default.patch
index e27e4cf..2dda63c 100644
--- a/0004-RH-multipathd-blacklist-all-by-default.patch
+++ b/0004-RH-multipathd-blacklist-all-by-default.patch
@@ -16,10 +16,10 @@ Signed-off-by: Fabio M. Di Nitto <fdinitto at redhat.com>
  libmultipath/config.h |    1 +
  2 files changed, 17 insertions(+)
 
-Index: multipath-tools-120817/libmultipath/config.c
+Index: multipath-tools-130222/libmultipath/config.c
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/config.c
-+++ multipath-tools-120817/libmultipath/config.c
+--- multipath-tools-130222.orig/libmultipath/config.c
++++ multipath-tools-130222/libmultipath/config.c
 @@ -21,6 +21,7 @@
  #include "defaults.h"
  #include "prio.h"
@@ -28,7 +28,7 @@ Index: multipath-tools-120817/libmultipath/config.c
  
  static int
  hwe_strmatch (struct hwentry *hwe1, struct hwentry *hwe2)
-@@ -552,6 +553,21 @@ load_config (char * file)
+@@ -585,6 +586,21 @@ load_config (char * file)
  
  	} else {
  		init_keywords();
@@ -50,10 +50,10 @@ Index: multipath-tools-120817/libmultipath/config.c
  	}
  
  	/*
-Index: multipath-tools-120817/libmultipath/config.h
+Index: multipath-tools-130222/libmultipath/config.h
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/config.h
-+++ multipath-tools-120817/libmultipath/config.h
+--- multipath-tools-130222.orig/libmultipath/config.h
++++ multipath-tools-130222/libmultipath/config.h
 @@ -6,6 +6,7 @@
  
  #define ORIGIN_DEFAULT 0
diff --git a/0005-RH-add-mpathconf.patch b/0005-RH-add-mpathconf.patch
index 6cd9543..ce1b2c7 100644
--- a/0005-RH-add-mpathconf.patch
+++ b/0005-RH-add-mpathconf.patch
@@ -6,11 +6,11 @@
  multipath/mpathconf.8 |  103 ++++++++++++++++
  5 files changed, 423 insertions(+), 2 deletions(-)
 
-Index: multipath-tools-120817/libmultipath/config.c
+Index: multipath-tools-130222/libmultipath/config.c
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/config.c
-+++ multipath-tools-120817/libmultipath/config.c
-@@ -556,6 +556,7 @@ load_config (char * file)
+--- multipath-tools-130222.orig/libmultipath/config.c
++++ multipath-tools-130222/libmultipath/config.c
+@@ -589,6 +589,7 @@ load_config (char * file)
  		condlog(0, "/etc/multipath.conf does not exist, blacklisting all devices.");
  		condlog(0, "A default multipath.conf file is located at");
  		condlog(0, "/usr/share/doc/device-mapper-multipath-%d.%d.%d/multipath.conf", MULTIPATH_VERSION(VERSION_CODE));
@@ -18,10 +18,10 @@ Index: multipath-tools-120817/libmultipath/config.c
  		if (conf->blist_devnode == NULL) {
  			conf->blist_devnode = vector_alloc();
  			if (!conf->blist_devnode) {
-Index: multipath-tools-120817/multipath/Makefile
+Index: multipath-tools-130222/multipath/Makefile
 ===================================================================
---- multipath-tools-120817.orig/multipath/Makefile
-+++ multipath-tools-120817/multipath/Makefile
+--- multipath-tools-130222.orig/multipath/Makefile
++++ multipath-tools-130222/multipath/Makefile
 @@ -17,22 +17,27 @@ $(EXEC): $(OBJS)
  	$(CC) $(CFLAGS) $(OBJS) -o $(EXEC) $(LDFLAGS)
  	$(GZIP) $(EXEC).8 > $(EXEC).8.gz
@@ -50,11 +50,11 @@ Index: multipath-tools-120817/multipath/Makefile
  
  clean:
  	rm -f core *.o $(EXEC) *.gz
-Index: multipath-tools-120817/multipath/main.c
+Index: multipath-tools-130222/multipath/main.c
 ===================================================================
---- multipath-tools-120817.orig/multipath/main.c
-+++ multipath-tools-120817/multipath/main.c
-@@ -432,10 +432,10 @@ main (int argc, char *argv[])
+--- multipath-tools-130222.orig/multipath/main.c
++++ multipath-tools-130222/multipath/main.c
+@@ -433,10 +433,10 @@ main (int argc, char *argv[])
  		exit(1);
  	}
  
@@ -67,10 +67,10 @@ Index: multipath-tools-120817/multipath/main.c
  		exit(1);
  
  	while ((arg = getopt(argc, argv, ":dchl::FfM:v:p:b:Brtq")) != EOF ) {
-Index: multipath-tools-120817/multipath/mpathconf
+Index: multipath-tools-130222/multipath/mpathconf
 ===================================================================
 --- /dev/null
-+++ multipath-tools-120817/multipath/mpathconf
++++ multipath-tools-130222/multipath/mpathconf
 @@ -0,0 +1,312 @@
 +#!/bin/sh
 +#
@@ -384,10 +384,10 @@ Index: multipath-tools-120817/multipath/mpathconf
 +elif [ -n "$CHANGED_CONFIG" -a "$HAVE_MULTIPATHD" = 1 ]; then
 +	service multipathd reload
 +fi
-Index: multipath-tools-120817/multipath/mpathconf.8
+Index: multipath-tools-130222/multipath/mpathconf.8
 ===================================================================
 --- /dev/null
-+++ multipath-tools-120817/multipath/mpathconf.8
++++ multipath-tools-130222/multipath/mpathconf.8
 @@ -0,0 +1,103 @@
 +.TH MPATHCONF 8 "June 2010" "" "Linux Administrator's Manual"
 +.SH NAME
diff --git a/0006-RH-add-find-multipaths.patch b/0006-RH-add-find-multipaths.patch
index 7c1e492..4a0c364 100644
--- a/0006-RH-add-find-multipaths.patch
+++ b/0006-RH-add-find-multipaths.patch
@@ -10,23 +10,23 @@
  multipathd/main.c        |    6 ++++++
  9 files changed, 82 insertions(+), 1 deletion(-)
 
-Index: multipath-tools-120817/libmultipath/config.c
+Index: multipath-tools-130222/libmultipath/config.c
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/config.c
-+++ multipath-tools-120817/libmultipath/config.c
-@@ -517,6 +517,7 @@ load_config (char * file)
+--- multipath-tools-130222.orig/libmultipath/config.c
++++ multipath-tools-130222/libmultipath/config.c
+@@ -547,6 +547,7 @@ load_config (char * file)
  	conf->reassign_maps = DEFAULT_REASSIGN_MAPS;
  	conf->checkint = DEFAULT_CHECKINT;
  	conf->max_checkint = MAX_CHECKINT(conf->checkint);
 +	conf->find_multipaths = DEFAULT_FIND_MULTIPATHS;
- 
- 	/*
- 	 * preload default hwtable
-Index: multipath-tools-120817/libmultipath/configure.c
+ 	conf->fast_io_fail = DEFAULT_FAST_IO_FAIL;
+ 	conf->retain_hwhandler = DEFAULT_RETAIN_HWHANDLER;
+ 	conf->detect_prio = DEFAULT_DETECT_PRIO;
+Index: multipath-tools-130222/libmultipath/configure.c
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/configure.c
-+++ multipath-tools-120817/libmultipath/configure.c
-@@ -505,6 +505,10 @@ coalesce_paths (struct vectors * vecs, v
+--- multipath-tools-130222.orig/libmultipath/configure.c
++++ multipath-tools-130222/libmultipath/configure.c
+@@ -508,6 +508,10 @@ coalesce_paths (struct vectors * vecs, v
  
  	memset(empty_buff, 0, WWID_SIZE);
  
@@ -37,7 +37,7 @@ Index: multipath-tools-120817/libmultipath/configure.c
  	if (force_reload) {
  		vector_foreach_slot (pathvec, pp1, k) {
  			pp1->mpp = NULL;
-@@ -534,6 +538,13 @@ coalesce_paths (struct vectors * vecs, v
+@@ -537,6 +541,13 @@ coalesce_paths (struct vectors * vecs, v
  		if (refwwid && strncmp(pp1->wwid, refwwid, WWID_SIZE))
  			continue;
  
@@ -51,22 +51,22 @@ Index: multipath-tools-120817/libmultipath/configure.c
  		/*
  		 * at this point, we know we really got a new mp
  		 */
-Index: multipath-tools-120817/libmultipath/defaults.h
+Index: multipath-tools-130222/libmultipath/defaults.h
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/defaults.h
-+++ multipath-tools-120817/libmultipath/defaults.h
+--- multipath-tools-130222.orig/libmultipath/defaults.h
++++ multipath-tools-130222/libmultipath/defaults.h
 @@ -15,6 +15,7 @@
  #define DEFAULT_USER_FRIENDLY_NAMES    0
  #define DEFAULT_VERBOSITY	2
  #define DEFAULT_REASSIGN_MAPS	1
-+#define DEFAULT_FIND_MULTIPATHS 0
- 
- #define DEFAULT_CHECKINT	5
- #define MAX_CHECKINT(a)		(a << 2)
-Index: multipath-tools-120817/libmultipath/dict.c
++#define DEFAULT_FIND_MULTIPATHS	0
+ #define DEFAULT_FAST_IO_FAIL	5
+ #define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_OFF
+ #define DEFAULT_DETECT_PRIO DETECT_PRIO_OFF
+Index: multipath-tools-130222/libmultipath/dict.c
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/dict.c
-+++ multipath-tools-120817/libmultipath/dict.c
+--- multipath-tools-130222.orig/libmultipath/dict.c
++++ multipath-tools-130222/libmultipath/dict.c
 @@ -585,6 +585,27 @@ def_reservation_key_handler(vector strve
  }
  
@@ -95,7 +95,7 @@ Index: multipath-tools-120817/libmultipath/dict.c
  def_names_handler(vector strvec)
  {
  	char * buff;
-@@ -2560,6 +2581,18 @@ snprint_def_log_checker_err (char * buff
+@@ -2700,6 +2721,18 @@ snprint_def_log_checker_err (char * buff
  }
  
  static int
@@ -114,18 +114,18 @@ Index: multipath-tools-120817/libmultipath/dict.c
  snprint_def_user_friendly_names (char * buff, int len, void * data)
  {
  	if (conf->user_friendly_names  == USER_FRIENDLY_NAMES_ON)
-@@ -2662,6 +2695,7 @@ init_keywords(void)
+@@ -2833,6 +2866,7 @@ init_keywords(void)
  	install_keyword("wwids_file", &wwids_file_handler, &snprint_def_wwids_file);
  	install_keyword("log_checker_err", &def_log_checker_err_handler, &snprint_def_log_checker_err);
  	install_keyword("reservation_key", &def_reservation_key_handler, &snprint_def_reservation_key);
 +	install_keyword("find_multipaths", &def_find_multipaths_handler, &snprint_def_find_multipaths);
+ 	install_keyword("retain_attached_hw_handler", &def_retain_hwhandler_handler, &snprint_def_retain_hwhandler_handler);
+ 	install_keyword("detect_prio", &def_detect_prio_handler, &snprint_def_detect_prio);
  	__deprecated install_keyword("default_selector", &def_selector_handler, NULL);
- 	__deprecated install_keyword("default_path_grouping_policy", &def_pgpolicy_handler, NULL);
- 	__deprecated install_keyword("default_uid_attribute", &def_uid_attribute_handler, NULL);
-Index: multipath-tools-120817/libmultipath/wwids.c
+Index: multipath-tools-130222/libmultipath/wwids.c
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/wwids.c
-+++ multipath-tools-120817/libmultipath/wwids.c
+--- multipath-tools-130222.orig/libmultipath/wwids.c
++++ multipath-tools-130222/libmultipath/wwids.c
 @@ -125,6 +125,32 @@ out:
  }
  
@@ -159,10 +159,10 @@ Index: multipath-tools-120817/libmultipath/wwids.c
  remember_wwid(char *wwid)
  {
  	int ret = check_wwids_file(wwid, 1);
-Index: multipath-tools-120817/libmultipath/wwids.h
+Index: multipath-tools-130222/libmultipath/wwids.h
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/wwids.h
-+++ multipath-tools-120817/libmultipath/wwids.h
+--- multipath-tools-130222.orig/libmultipath/wwids.h
++++ multipath-tools-130222/libmultipath/wwids.h
 @@ -12,6 +12,7 @@
  "#\n" \
  "# Valid WWIDs:\n"
@@ -171,11 +171,11 @@ Index: multipath-tools-120817/libmultipath/wwids.h
  int remember_wwid(char *wwid);
  int check_wwids_file(char *wwid, int write_wwid);
  
-Index: multipath-tools-120817/multipath/main.c
+Index: multipath-tools-130222/multipath/main.c
 ===================================================================
---- multipath-tools-120817.orig/multipath/main.c
-+++ multipath-tools-120817/multipath/main.c
-@@ -332,7 +332,7 @@ configure (void)
+--- multipath-tools-130222.orig/multipath/main.c
++++ multipath-tools-130222/multipath/main.c
+@@ -333,7 +333,7 @@ configure (void)
  	/*
  	 * core logic entry point
  	 */
@@ -184,10 +184,10 @@ Index: multipath-tools-120817/multipath/main.c
  
  out:
  	if (refwwid)
-Index: multipath-tools-120817/multipathd/main.c
+Index: multipath-tools-130222/multipathd/main.c
 ===================================================================
---- multipath-tools-120817.orig/multipathd/main.c
-+++ multipath-tools-120817/multipathd/main.c
+--- multipath-tools-130222.orig/multipathd/main.c
++++ multipath-tools-130222/multipathd/main.c
 @@ -49,6 +49,7 @@
  #include <print.h>
  #include <configure.h>
@@ -196,7 +196,7 @@ Index: multipath-tools-120817/multipathd/main.c
  #include <pgpolicies.h>
  #include <uevent.h>
  
-@@ -473,6 +474,11 @@ rescan:
+@@ -471,6 +472,11 @@ rescan:
  			return 1;
  		}
  
@@ -208,11 +208,11 @@ Index: multipath-tools-120817/multipathd/main.c
  		condlog(4,"%s: creating new map", pp->dev);
  		if ((mpp = add_map_with_path(vecs, pp, 1))) {
  			mpp->action = ACT_CREATE;
-Index: multipath-tools-120817/libmultipath/config.h
+Index: multipath-tools-130222/libmultipath/config.h
 ===================================================================
---- multipath-tools-120817.orig/libmultipath/config.h
-+++ multipath-tools-120817/libmultipath/config.h
-@@ -104,6 +104,7 @@ struct config {
+--- multipath-tools-130222.orig/libmultipath/config.h
++++ multipath-tools-130222/libmultipath/config.h
+@@ -106,6 +106,7 @@ struct config {
  	unsigned int dev_loss;
  	int log_checker_err;
  	int allow_queueing;
diff --git a/0008-RH-revert-partition-changes.patch b/0008-RH-revert-partition-changes.patch
new file mode 100644
index 0000000..c563b0e
--- /dev/null
+++ b/0008-RH-revert-partition-changes.patch
@@ -0,0 +1,45 @@
+---
+ kpartx/dos.c    |    2 --
+ kpartx/kpartx.c |    9 ++++++---
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+Index: multipath-tools-130222/kpartx/dos.c
+===================================================================
+--- multipath-tools-130222.orig/kpartx/dos.c
++++ multipath-tools-130222/kpartx/dos.c
+@@ -98,8 +98,6 @@ read_dos_pt(int fd, struct slice all, st
+ 			break;
+ 		}
+ 		if (is_extended(p.sys_type)) {
+-			sp[i].size = 2; /* extended partitions only get two
+-					   sectors mapped for LILO to install */
+ 			n += read_extended_partition(fd, &p, i, sp+n, ns-n);
+ 		}
+ 	}
+Index: multipath-tools-130222/kpartx/kpartx.c
+===================================================================
+--- multipath-tools-130222.orig/kpartx/kpartx.c
++++ multipath-tools-130222/kpartx/kpartx.c
+@@ -516,6 +516,7 @@ main(int argc, char **argv){
+ 			d = c;
+ 			while (c) {
+ 				for (j = 0; j < n; j++) {
++					uint64_t start;
+ 					int k = slices[j].container - 1;
+ 
+ 					if (slices[j].size == 0)
+@@ -541,9 +542,11 @@ main(int argc, char **argv){
+ 					}
+ 					strip_slash(partname);
+ 
+-					if (safe_sprintf(params, "%s %" PRIu64,
+-							 device,
+-							 slices[j].start)) {
++					start = slices[j].start - slices[k].start;
++					if (safe_sprintf(params, "%d:%d %" PRIu64,
++							 slices[k].major,
++							 slices[k].minor,
++							 start)) {
+ 						fprintf(stderr, "params too small\n");
+ 						exit(1);
+ 					}
diff --git a/0008-RH-RHEL5-style-partitions.patch b/0009-RH-RHEL5-style-partitions.patch
similarity index 90%
rename from 0008-RH-RHEL5-style-partitions.patch
rename to 0009-RH-RHEL5-style-partitions.patch
index 47fa725..a2691bb 100644
--- a/0008-RH-RHEL5-style-partitions.patch
+++ b/0009-RH-RHEL5-style-partitions.patch
@@ -6,10 +6,10 @@
  kpartx/sun.c    |   35 ---------------
  5 files changed, 24 insertions(+), 177 deletions(-)
 
-Index: multipath-tools-120123/kpartx/bsd.c
+Index: multipath-tools-130222/kpartx/bsd.c
 ===================================================================
---- multipath-tools-120123.orig/kpartx/bsd.c
-+++ multipath-tools-120123/kpartx/bsd.c
+--- multipath-tools-130222.orig/kpartx/bsd.c
++++ multipath-tools-130222/kpartx/bsd.c
 @@ -50,10 +50,10 @@ int
  read_bsd_pt(int fd, struct slice all, struct slice *sp, int ns) {
  	struct bsd_disklabel *l;
@@ -60,10 +60,10 @@ Index: multipath-tools-120123/kpartx/bsd.c
 -	}
  	return n;
  }
-Index: multipath-tools-120123/kpartx/dos.c
+Index: multipath-tools-130222/kpartx/dos.c
 ===================================================================
---- multipath-tools-120123.orig/kpartx/dos.c
-+++ multipath-tools-120123/kpartx/dos.c
+--- multipath-tools-130222.orig/kpartx/dos.c
++++ multipath-tools-130222/kpartx/dos.c
 @@ -16,7 +16,7 @@ is_extended(int type) {
  }
  
@@ -92,11 +92,11 @@ Index: multipath-tools-120123/kpartx/dos.c
  		}
  	}
  	return n;
-Index: multipath-tools-120123/kpartx/kpartx.c
+Index: multipath-tools-130222/kpartx/kpartx.c
 ===================================================================
---- multipath-tools-120123.orig/kpartx/kpartx.c
-+++ multipath-tools-120123/kpartx/kpartx.c
-@@ -190,7 +190,7 @@ get_hotplug_device(void)
+--- multipath-tools-130222.orig/kpartx/kpartx.c
++++ multipath-tools-130222/kpartx/kpartx.c
+@@ -192,7 +192,7 @@ get_hotplug_device(void)
  
  int
  main(int argc, char **argv){
@@ -105,7 +105,7 @@ Index: multipath-tools-120123/kpartx/kpartx.c
  	int fd = -1;
  	struct slice all;
  	struct pt *ptp;
-@@ -380,49 +380,30 @@ main(int argc, char **argv){
+@@ -381,49 +381,30 @@ main(int argc, char **argv){
  		else
  			continue;
  
@@ -169,7 +169,7 @@ Index: multipath-tools-120123/kpartx/kpartx.c
  
  			break;
  
-@@ -461,16 +442,10 @@ main(int argc, char **argv){
+@@ -462,16 +443,10 @@ main(int argc, char **argv){
  		case ADD:
  		case UPDATE:
  			/* ADD and UPDATE share the same code that adds new partitions. */
@@ -187,7 +187,7 @@ Index: multipath-tools-120123/kpartx/kpartx.c
  				if (safe_sprintf(partname, "%s%s%d",
  					     mapname, delim, j+1)) {
  					fprintf(stderr, "partname too small\n");
-@@ -511,72 +486,6 @@ main(int argc, char **argv){
+@@ -512,72 +487,6 @@ main(int argc, char **argv){
  					       slices[j].minor, slices[j].size,
  					       DM_TARGET, params);
  			}
@@ -260,10 +260,10 @@ Index: multipath-tools-120123/kpartx/kpartx.c
  
  			if (what == ADD) {
  				/* Skip code that removes devmappings for deleted partitions */
-Index: multipath-tools-120123/kpartx/kpartx.h
+Index: multipath-tools-130222/kpartx/kpartx.h
 ===================================================================
---- multipath-tools-120123.orig/kpartx/kpartx.h
-+++ multipath-tools-120123/kpartx/kpartx.h
+--- multipath-tools-130222.orig/kpartx/kpartx.h
++++ multipath-tools-130222/kpartx/kpartx.h
 @@ -24,7 +24,6 @@
  struct slice {
  	uint64_t start;
@@ -272,10 +272,10 @@ Index: multipath-tools-120123/kpartx/kpartx.h
  	int major;
  	int minor;
  };
-Index: multipath-tools-120123/kpartx/sun.c
+Index: multipath-tools-130222/kpartx/sun.c
 ===================================================================
---- multipath-tools-120123.orig/kpartx/sun.c
-+++ multipath-tools-120123/kpartx/sun.c
+--- multipath-tools-130222.orig/kpartx/sun.c
++++ multipath-tools-130222/kpartx/sun.c
 @@ -62,8 +62,8 @@ int
  read_sun_pt(int fd, struct slice all, struct slice *sp, int ns) {
  	struct sun_disk_label *l;
diff --git a/0009-RH-dont-remove-map-on-enomem.patch b/0010-RH-dont-remove-map-on-enomem.patch
similarity index 69%
rename from 0009-RH-dont-remove-map-on-enomem.patch
rename to 0010-RH-dont-remove-map-on-enomem.patch
index b7ee42c..1740c10 100644
--- a/0009-RH-dont-remove-map-on-enomem.patch
+++ b/0010-RH-dont-remove-map-on-enomem.patch
@@ -2,11 +2,11 @@
  multipathd/main.c |    3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-Index: multipath-tools-120518/multipathd/main.c
+Index: multipath-tools-130222/multipathd/main.c
 ===================================================================
---- multipath-tools-120518.orig/multipathd/main.c
-+++ multipath-tools-120518/multipathd/main.c
-@@ -993,7 +993,8 @@ mpvec_garbage_collector (struct vectors
+--- multipath-tools-130222.orig/multipathd/main.c
++++ multipath-tools-130222/multipathd/main.c
+@@ -990,7 +990,8 @@ mpvec_garbage_collector (struct vectors
  		return;
  
  	vector_foreach_slot (vecs->mpvec, mpp, i) {
diff --git a/0010-RH-deprecate-uid-gid-mode.patch b/0011-RH-deprecate-uid-gid-mode.patch
similarity index 100%
rename from 0010-RH-deprecate-uid-gid-mode.patch
rename to 0011-RH-deprecate-uid-gid-mode.patch
diff --git a/0013-RH-kpartx-msg.patch b/0012-RH-kpartx-msg.patch
similarity index 80%
rename from 0013-RH-kpartx-msg.patch
rename to 0012-RH-kpartx-msg.patch
index 4040049..7584c84 100644
--- a/0013-RH-kpartx-msg.patch
+++ b/0012-RH-kpartx-msg.patch
@@ -2,11 +2,11 @@
  kpartx/lopart.c |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
 
-Index: multipath-tools-120821/kpartx/lopart.c
+Index: multipath-tools-130222/kpartx/lopart.c
 ===================================================================
---- multipath-tools-120821.orig/kpartx/lopart.c
-+++ multipath-tools-120821/kpartx/lopart.c
-@@ -216,13 +216,13 @@ find_unused_loop_device (void)
+--- multipath-tools-130222.orig/kpartx/lopart.c
++++ multipath-tools-130222/kpartx/lopart.c
+@@ -205,13 +205,13 @@ find_unused_loop_device (void)
  		fprintf(stderr,
  		    "mount: Could not find any loop device, and, according to %s,\n"
  		    "       this kernel does not know about the loop device.\n"
diff --git a/0035-RHBZ-883981-cleanup-rpmdiff-issues.patch b/0013-RHBZ-883981-cleanup-rpmdiff-issues.patch
similarity index 75%
rename from 0035-RHBZ-883981-cleanup-rpmdiff-issues.patch
rename to 0013-RHBZ-883981-cleanup-rpmdiff-issues.patch
index 924375f..03bce17 100644
--- a/0035-RHBZ-883981-cleanup-rpmdiff-issues.patch
+++ b/0013-RHBZ-883981-cleanup-rpmdiff-issues.patch
@@ -9,10 +9,10 @@
  multipathd/Makefile                |    5 +++--
  8 files changed, 15 insertions(+), 12 deletions(-)
 
-Index: multipath-tools-120821/Makefile.inc
+Index: multipath-tools-130222/Makefile.inc
 ===================================================================
---- multipath-tools-120821.orig/Makefile.inc
-+++ multipath-tools-120821/Makefile.inc
+--- multipath-tools-130222.orig/Makefile.inc
++++ multipath-tools-130222/Makefile.inc
 @@ -23,15 +23,15 @@ endif
  
  prefix      = 
@@ -43,27 +43,27 @@ Index: multipath-tools-120821/Makefile.inc
  SHARED_FLAGS = -shared
  
  %.o:	%.c
-Index: multipath-tools-120821/multipathd/Makefile
+Index: multipath-tools-130222/multipathd/Makefile
 ===================================================================
---- multipath-tools-120821.orig/multipathd/Makefile
-+++ multipath-tools-120821/multipathd/Makefile
+--- multipath-tools-130222.orig/multipathd/Makefile
++++ multipath-tools-130222/multipathd/Makefile
 @@ -5,9 +5,10 @@ include ../Makefile.inc
  #
  # basic flags setting
  #
 -CFLAGS += -I$(multipathdir) -I$(mpathpersistdir)
 +CFLAGS += -fPIE -DPIE -I$(multipathdir) -I$(mpathpersistdir)
- LDFLAGS += -lpthread -ldevmapper -lreadline -lncurses -ludev -ldl \
+ LDFLAGS += -lpthread -ldevmapper -lreadline -ludev -ldl \
 -	   -L$(multipathdir) -lmultipath -L$(mpathpersistdir) -lmpathpersist
 +	   -L$(multipathdir) -lmultipath -L$(mpathpersistdir) -lmpathpersist \
 +	   -Wl,-z,now -pie
  
  #
  # debuging stuff
-Index: multipath-tools-120821/kpartx/Makefile
+Index: multipath-tools-130222/kpartx/Makefile
 ===================================================================
---- multipath-tools-120821.orig/kpartx/Makefile
-+++ multipath-tools-120821/kpartx/Makefile
+--- multipath-tools-130222.orig/kpartx/Makefile
++++ multipath-tools-130222/kpartx/Makefile
 @@ -4,7 +4,7 @@
  #
  include ../Makefile.inc
@@ -73,10 +73,10 @@ Index: multipath-tools-120821/kpartx/Makefile
  
  LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h)
  
-Index: multipath-tools-120821/libmpathpersist/Makefile
+Index: multipath-tools-130222/libmpathpersist/Makefile
 ===================================================================
---- multipath-tools-120821.orig/libmpathpersist/Makefile
-+++ multipath-tools-120821/libmpathpersist/Makefile
+--- multipath-tools-130222.orig/libmpathpersist/Makefile
++++ multipath-tools-130222/libmpathpersist/Makefile
 @@ -10,7 +10,7 @@ DEVLIB = libmpathpersist.so
  LIBS = $(DEVLIB).$(SONAME)
  
@@ -95,10 +95,10 @@ Index: multipath-tools-120821/libmpathpersist/Makefile
  	$(CC)  -shared $(LIBDEPS) -Wl,-soname=$@ $(CFLAGS) -o $@ $(OBJS)
  	ln -s $(LIBS) $(DEVLIB)
  	$(GZIP) mpath_persistent_reserve_in.3 > mpath_persistent_reserve_in.3.gz	
-Index: multipath-tools-120821/libmultipath/Makefile
+Index: multipath-tools-130222/libmultipath/Makefile
 ===================================================================
---- multipath-tools-120821.orig/libmultipath/Makefile
-+++ multipath-tools-120821/libmultipath/Makefile
+--- multipath-tools-130222.orig/libmultipath/Makefile
++++ multipath-tools-130222/libmultipath/Makefile
 @@ -8,6 +8,7 @@ SONAME=0
  DEVLIB = libmultipath.so
  LIBS = $(DEVLIB).$(SONAME)
@@ -107,10 +107,10 @@ Index: multipath-tools-120821/libmultipath/Makefile
  
  OBJS = memory.o parser.o vector.o devmapper.o \
         hwtable.o blacklist.o util.o dmparser.o config.o \
-Index: multipath-tools-120821/libmultipath/checkers/Makefile
+Index: multipath-tools-130222/libmultipath/checkers/Makefile
 ===================================================================
---- multipath-tools-120821.orig/libmultipath/checkers/Makefile
-+++ multipath-tools-120821/libmultipath/checkers/Makefile
+--- multipath-tools-130222.orig/libmultipath/checkers/Makefile
++++ multipath-tools-130222/libmultipath/checkers/Makefile
 @@ -14,7 +14,7 @@ LIBS= \
  	libcheckhp_sw.so \
  	libcheckrdac.so
@@ -120,10 +120,10 @@ Index: multipath-tools-120821/libmultipath/checkers/Makefile
  
  all: $(LIBS)
  
-Index: multipath-tools-120821/libmultipath/prioritizers/Makefile
+Index: multipath-tools-130222/libmultipath/prioritizers/Makefile
 ===================================================================
---- multipath-tools-120821.orig/libmultipath/prioritizers/Makefile
-+++ multipath-tools-120821/libmultipath/prioritizers/Makefile
+--- multipath-tools-130222.orig/libmultipath/prioritizers/Makefile
++++ multipath-tools-130222/libmultipath/prioritizers/Makefile
 @@ -17,7 +17,7 @@ LIBS = \
  	libprioweightedpath.so \
  	libprioiet.so
@@ -133,10 +133,10 @@ Index: multipath-tools-120821/libmultipath/prioritizers/Makefile
  
  all: $(LIBS)
  
-Index: multipath-tools-120821/multipath/Makefile
+Index: multipath-tools-130222/multipath/Makefile
 ===================================================================
---- multipath-tools-120821.orig/multipath/Makefile
-+++ multipath-tools-120821/multipath/Makefile
+--- multipath-tools-130222.orig/multipath/Makefile
++++ multipath-tools-130222/multipath/Makefile
 @@ -6,7 +6,7 @@ include ../Makefile.inc
  
  OBJS = main.o
diff --git a/0039-RH-handle-other-sector-sizes.patch b/0014-RH-handle-other-sector-sizes.patch
similarity index 100%
rename from 0039-RH-handle-other-sector-sizes.patch
rename to 0014-RH-handle-other-sector-sizes.patch
diff --git a/0040-RH-fix-output-buffer.patch b/0015-RH-fix-output-buffer.patch
similarity index 85%
rename from 0040-RH-fix-output-buffer.patch
rename to 0015-RH-fix-output-buffer.patch
index 97ff755..1a915f2 100644
--- a/0040-RH-fix-output-buffer.patch
+++ b/0015-RH-fix-output-buffer.patch
@@ -2,10 +2,10 @@
  libmultipath/print.c |   30 ++++++++++++++++++++++++++----
  1 file changed, 26 insertions(+), 4 deletions(-)
 
-Index: multipath-tools-120821/libmultipath/print.c
+Index: multipath-tools-130222/libmultipath/print.c
 ===================================================================
---- multipath-tools-120821.orig/libmultipath/print.c
-+++ multipath-tools-120821/libmultipath/print.c
+--- multipath-tools-130222.orig/libmultipath/print.c
++++ multipath-tools-130222/libmultipath/print.c
 @@ -8,6 +8,8 @@
  #include <sys/stat.h>
  #include <dirent.h>
@@ -23,7 +23,7 @@ Index: multipath-tools-120821/libmultipath/print.c
  
  #define MAX(x,y) (x > y) ? x : y
  #define TAIL     (line + len - 1 - c)
-@@ -757,11 +760,30 @@ snprint_pathgroup (char * line, int len,
+@@ -754,11 +757,30 @@ snprint_pathgroup (char * line, int len,
  extern void
  print_multipath_topology (struct multipath * mpp, int verbosity)
  {
diff --git a/0016-RH-dont-print-ghost-messages.patch b/0016-RH-dont-print-ghost-messages.patch
new file mode 100644
index 0000000..3387424
--- /dev/null
+++ b/0016-RH-dont-print-ghost-messages.patch
@@ -0,0 +1,18 @@
+---
+ libmultipath/discovery.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+Index: multipath-tools-130222/libmultipath/discovery.c
+===================================================================
+--- multipath-tools-130222.orig/libmultipath/discovery.c
++++ multipath-tools-130222/libmultipath/discovery.c
+@@ -898,7 +898,8 @@ get_state (struct path * pp, int daemon)
+ 		c->timeout = DEF_TIMEOUT;
+ 	state = checker_check(c);
+ 	condlog(3, "%s: state = %s", pp->dev, checker_state_name(state));
+-	if (state != PATH_UP && strlen(checker_message(c)))
++	if (state != PATH_UP && state != PATH_GHOST &&
++	    strlen(checker_message(c)))
+ 		condlog(3, "%s: checker msg is \"%s\"",
+ 			pp->dev, checker_message(c));
+ 	return state;
diff --git a/0017-RH-fix-sigusr1.patch b/0017-RH-fix-sigusr1.patch
new file mode 100644
index 0000000..8db973c
--- /dev/null
+++ b/0017-RH-fix-sigusr1.patch
@@ -0,0 +1,82 @@
+---
+ libmultipath/log_pthread.c |    3 +++
+ multipathd/main.c          |   12 +++++-------
+ 2 files changed, 8 insertions(+), 7 deletions(-)
+
+Index: multipath-tools-130222/multipathd/main.c
+===================================================================
+--- multipath-tools-130222.orig/multipathd/main.c
++++ multipath-tools-130222/multipathd/main.c
+@@ -1473,7 +1473,9 @@ sighup (int sig)
+ 	if (running_state != DAEMON_RUNNING)
+ 		return;
+ 
++	lock(gvecs->lock);
+ 	reconfigure(gvecs);
++	unlock(gvecs->lock);
+ 
+ #ifdef _DEBUG_
+ 	dbg_free_final(NULL);
+@@ -1487,16 +1489,9 @@ sigend (int sig)
+ }
+ 
+ static void
+-sigusr1 (int sig)
+-{
+-	condlog(3, "SIGUSR1 received");
+-}
+-
+-static void
+ signal_init(void)
+ {
+ 	signal_set(SIGHUP, sighup);
+-	signal_set(SIGUSR1, sigusr1);
+ 	signal_set(SIGINT, sigend);
+ 	signal_set(SIGTERM, sigend);
+ 	signal(SIGPIPE, SIG_IGN);
+@@ -1652,6 +1647,7 @@ child (void * param)
+ 	 */
+ 	running_state = DAEMON_CONFIGURE;
+ 
++	block_signal(SIGHUP, &set);
+ 	lock(vecs->lock);
+ 	if (configure(vecs, 1)) {
+ 		unlock(vecs->lock);
+@@ -1659,6 +1655,7 @@ child (void * param)
+ 		exit(1);
+ 	}
+ 	unlock(vecs->lock);
++	pthread_sigmask(SIG_SETMASK, &set, NULL);
+ 
+ 	/*
+ 	 * start threads
+@@ -1691,6 +1688,7 @@ child (void * param)
+ 	 */
+ 	running_state = DAEMON_SHUTDOWN;
+ 	pthread_sigmask(SIG_UNBLOCK, &set, NULL);
++	block_signal(SIGUSR1, NULL);
+ 	block_signal(SIGHUP, NULL);
+ 	lock(vecs->lock);
+ 	if (conf->queue_without_daemon == QUE_NO_DAEMON_OFF)
+Index: multipath-tools-130222/libmultipath/log_pthread.c
+===================================================================
+--- multipath-tools-130222.orig/libmultipath/log_pthread.c
++++ multipath-tools-130222/libmultipath/log_pthread.c
+@@ -55,14 +55,17 @@ void log_safe (int prio, const char * fm
+ 
+ void log_thread_flush (void)
+ {
++	sigset_t old;
+ 	int empty;
+ 
+ 	do {
++		block_signal(SIGUSR1, &old);
+ 		pthread_mutex_lock(&logq_lock);
+ 		empty = log_dequeue(la->buff);
+ 		pthread_mutex_unlock(&logq_lock);
+ 		if (!empty)
+ 			log_syslog(la->buff);
++		pthread_sigmask(SIG_SETMASK, &old, NULL);
+ 	} while (empty == 0);
+ }
+ 
diff --git a/0018-RH-fix-factorize.patch b/0018-RH-fix-factorize.patch
new file mode 100644
index 0000000..1dfcab5
--- /dev/null
+++ b/0018-RH-fix-factorize.patch
@@ -0,0 +1,17 @@
+---
+ libmultipath/config.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+Index: multipath-tools-130222/libmultipath/config.c
+===================================================================
+--- multipath-tools-130222.orig/libmultipath/config.c
++++ multipath-tools-130222/libmultipath/config.c
+@@ -437,6 +437,8 @@ restart:
+ 			merge_hwe(hwe2, hwe1);
+ 			if (hwe_strmatch(hwe2, hwe1) == 0) {
+ 				vector_del_slot(hw, i);
++				free_hwe(hwe1);
++				n -= 1;
+ 				/*
+ 				 * Play safe here; we have modified
+ 				 * the original vector so the outer
diff --git a/0019-RH-fix-sockets.patch b/0019-RH-fix-sockets.patch
new file mode 100644
index 0000000..8639e20
--- /dev/null
+++ b/0019-RH-fix-sockets.patch
@@ -0,0 +1,48 @@
+---
+ libmpathpersist/mpath_updatepr.c |    3 ++-
+ libmultipath/uxsock.c            |    4 ++--
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+Index: multipath-tools-130222/libmpathpersist/mpath_updatepr.c
+===================================================================
+--- multipath-tools-130222.orig/libmpathpersist/mpath_updatepr.c
++++ multipath-tools-130222/libmpathpersist/mpath_updatepr.c
+@@ -14,6 +14,7 @@
+ #include <debug.h>
+ #include "memory.h"
+ #include "../libmultipath/uxsock.h"
++#include "../libmultipath/defaults.h"
+ 
+ unsigned long mem_allocated;    /* Total memory used in Bytes */
+ 
+@@ -25,7 +26,7 @@ int update_prflag(char * arg1, char * ar
+ 	size_t len;
+ 	int ret = 0;
+ 
+-	fd = ux_socket_connect("/var/run/multipathd.sock");
++	fd = ux_socket_connect(DEFAULT_SOCKET);
+ 	if (fd == -1) {
+ 		condlog (0, "ux socket connect error");
+ 		return 1 ;
+Index: multipath-tools-130222/libmultipath/uxsock.c
+===================================================================
+--- multipath-tools-130222.orig/libmultipath/uxsock.c
++++ multipath-tools-130222/libmultipath/uxsock.c
+@@ -31,7 +31,7 @@ int ux_socket_connect(const char *name)
+ 	memset(&addr, 0, sizeof(addr));
+ 	addr.sun_family = AF_LOCAL;
+ 	addr.sun_path[0] = '\0';
+-	len = strlen(name) + 1;
++	len = strlen(name) + 1 + sizeof(sa_family_t);
+ 	strncpy(&addr.sun_path[1], name, len);
+ 
+ 	fd = socket(AF_LOCAL, SOCK_STREAM, 0);
+@@ -62,7 +62,7 @@ int ux_socket_listen(const char *name)
+ 	memset(&addr, 0, sizeof(addr));
+ 	addr.sun_family = AF_LOCAL;
+ 	addr.sun_path[0] = '\0';
+-	len = strlen(name) + 1;
++	len = strlen(name) + 1 + sizeof(sa_family_t);
+ 	strncpy(&addr.sun_path[1], name, len);
+ 
+ 	if (bind(fd, (struct sockaddr *)&addr, len) == -1) {
diff --git a/device-mapper-multipath.spec b/device-mapper-multipath.spec
index bb1f3c6..dd284ec 100644
--- a/device-mapper-multipath.spec
+++ b/device-mapper-multipath.spec
@@ -1,12 +1,12 @@
 Summary: Tools to manage multipath devices using device-mapper
 Name: device-mapper-multipath
 Version: 0.4.9
-Release: 44%{?dist}
+Release: 45%{?dist}
 License: GPL+
 Group: System Environment/Base
 URL: http://christophe.varoqui.free.fr/
 
-Source0: multipath-tools-120821.tgz
+Source0: multipath-tools-130222.tgz
 Source1: multipath.conf
 Patch0001: 0001-RH-dont_start_with_no_config.patch
 Patch0002: 0002-RH-multipath.rules.patch
@@ -15,39 +15,18 @@ Patch0004: 0004-RH-multipathd-blacklist-all-by-default.patch
 Patch0005: 0005-RH-add-mpathconf.patch
 Patch0006: 0006-RH-add-find-multipaths.patch
 Patch0007: 0007-RH-add-hp_tur-checker.patch
-Patch0008: 0008-RH-RHEL5-style-partitions.patch
-Patch0009: 0009-RH-dont-remove-map-on-enomem.patch
-Patch0010: 0010-RH-deprecate-uid-gid-mode.patch
-Patch0011: 0011-RH-use-sync-support.patch
-Patch0012: 0012-RH-change-configs.patch
-Patch0013: 0013-RH-kpartx-msg.patch
-Patch0014: 0014-RH-dm_reassign.patch
-Patch0015: 0015-RH-selector_change.patch
-Patch0016: 0016-RH-retain_hwhandler.patch
-# Patch0017: 0017-RH-netapp_config.patch
-Patch0018: 0018-RH-remove-config-dups.patch
-Patch0019: 0019-RH-detect-prio.patch
-Patch0020: 0020-RH-netapp-config.patch
-Patch0021: 0021-RH-fix-oom-adj.patch
-Patch0022: 0022-RHBZ-864368-disable-libdm-failback.patch
-Patch0023: 0023-RHBZ-866291-update-documentation.patch
-Patch0024: 0024-RH-start-multipathd-service-before-lvm.patch
-Patch0025: 0025-RH-fix-systemd-start-order.patch
-Patch0026: 0026-RH-fix-mpathpersist-fns.patch
-Patch0027: 0027-RH-default-partition-delimiters.patch
-Patch0028: 0028-RH-storagetek-config.patch
-Patch0029: 0029-RH-kpartx-retry.patch
-Patch0030: 0030-RH-early-blacklist.patch
-Patch0031: 0031-RHBZ-882060-fix-null-strncmp.patch
-Patch0032: 0032-RH-make-path-fd-readonly.patch
-Patch0033: 0033-RH-dont-disable-libdm-failback-for-sync-case.patch
-Patch0034: 0034-RHBZ-887737-check-for-null-key.patch
-Patch0035: 0035-RHBZ-883981-cleanup-rpmdiff-issues.patch
-Patch0036: 0036-UP-fix-state-handling.patch
-Patch0037: 0037-UP-fix-params-size.patch
-Patch0038: 0038-RH-fix-multipath.rules.patch
-Patch0039: 0039-RH-handle-other-sector-sizes.patch
-Patch0040: 0040-RH-fix-output-buffer.patch
+Patch0008: 0008-RH-revert-partition-changes.patch
+Patch0009: 0009-RH-RHEL5-style-partitions.patch
+Patch0010: 0010-RH-dont-remove-map-on-enomem.patch
+Patch0011: 0011-RH-deprecate-uid-gid-mode.patch
+Patch0012: 0012-RH-kpartx-msg.patch
+Patch0013: 0013-RHBZ-883981-cleanup-rpmdiff-issues.patch
+Patch0014: 0014-RH-handle-other-sector-sizes.patch
+Patch0015: 0015-RH-fix-output-buffer.patch
+Patch0016: 0016-RH-dont-print-ghost-messages.patch
+Patch0017: 0017-RH-fix-sigusr1.patch
+Patch0018: 0018-RH-fix-factorize.patch
+Patch0019: 0019-RH-fix-sockets.patch
 
 # runtime
 Requires: %{name}-libs = %{version}-%{release}
@@ -99,7 +78,7 @@ Group: System Environment/Base
 kpartx manages partition creation and removal for device-mapper devices.
 
 %prep
-%setup -q -n multipath-tools-120821
+%setup -q -n multipath-tools-130222
 %patch0001 -p1
 %patch0002 -p1
 %patch0003 -p1
@@ -116,30 +95,9 @@ kpartx manages partition creation and removal for device-mapper devices.
 %patch0014 -p1
 %patch0015 -p1
 %patch0016 -p1
-# %patch0017 -p1
+%patch0017 -p1
 %patch0018 -p1
 %patch0019 -p1
-%patch0020 -p1
-%patch0021 -p1
-%patch0022 -p1
-%patch0023 -p1
-%patch0024 -p1
-%patch0025 -p1
-%patch0026 -p1
-%patch0027 -p1
-%patch0028 -p1
-%patch0029 -p1
-%patch0030 -p1
-%patch0031 -p1
-%patch0032 -p1
-%patch0033 -p1
-%patch0034 -p1
-%patch0035 -p1
-%patch0036 -p1
-%patch0037 -p1
-%patch0038 -p1
-%patch0039 -p1
-%patch0040 -p1
 cp %{SOURCE1} .
 
 %build
@@ -230,6 +188,37 @@ bin/systemctl --no-reload enable multipathd.service >/dev/null 2>&1 ||:
 %{_mandir}/man8/kpartx.8.gz
 
 %changelog
+* Sat Mar  2 2013 Benjamin Marzinski <bmarzins at redhat.com> 0.4.9-45
+- Updated to latest upstrem 0.4.9 code: multipath-tools-130222
+  (git commit id: 67b82ad6fe280caa1770025a6bb8110b633fa136)
+- Refresh 0001-RH-dont_start_with_no_config.patch
+- Modify 0002-RH-multipath.rules.patch
+- Modify 0003-RH-Make-build-system-RH-Fedora-friendly.patch
+- Refresh 0004-RH-multipathd-blacklist-all-by-default.patch
+- Refresh 0005-RH-add-mpathconf.patch
+- Refresh 0006-RH-add-find-multipaths.patch
+- Add 0008-RH-revert-partition-changes.patch
+- Rename 0008-RH-RHEL5-style-partitions.patch to
+	 0009-RH-RHEL5-style-partitions.patch
+- Rename 0009-RH-dont-remove-map-on-enomem.patch to
+	 0010-RH-dont-remove-map-on-enomem.patch
+- Rename 0010-RH-deprecate-uid-gid-mode.patch to
+	 0011-RH-deprecate-uid-gid-mode.patch
+- Rename 0013-RH-kpartx-msg.patch to 0012-RH-kpartx-msg.patch
+- Rename 0035-RHBZ-883981-cleanup-rpmdiff-issues.patch to
+         0013-RHBZ-883981-cleanup-rpmdiff-issues.patch
+- Rename 0039-RH-handle-other-sector-sizes.patch to
+	 0014-RH-handle-other-sector-sizes.patch
+- Rename 0040-RH-fix-output-buffer.patch to 0015-RH-fix-output-buffer.patch
+- Add 0016-RH-dont-print-ghost-messages.patch
+- Add 0017-RH-fix-sigusr1.patch
+  * Actually this fixes a number of issues related to signals
+- Rename 0018-RH-remove-config-dups.patch to 0018-RH-fix-factorize.patch
+  * just the part that isn't upstream
+- Add 0019-RH-fix-sockets.patch
+  * makes abstract multipathd a cli sockets use the correct name.
+- Set find_multipaths in the default config
+
 * Wed Feb 19 2013 Benjamin Marzinski <bmarzins at redhat.com> 0.4.9-44
 - Add 0036-UP-fix-state-handling.patch
   * handle transport-offline and quiesce sysfs state
diff --git a/multipath.conf b/multipath.conf
index 6bbeadb..e40420f 100644
--- a/multipath.conf
+++ b/multipath.conf
@@ -18,6 +18,7 @@
 ## Use user friendly names, instead of using WWIDs as names.
 defaults {
 	user_friendly_names yes
+	find_multipaths yes
 }
 ##
 ## Here is an example of how to configure some standard options.
diff --git a/sources b/sources
index 1003511..05ab47e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-7115cfd8ebcf6a005299c18f00aac575  multipath-tools-120821.tgz
+808f827ea6e832cf373ebacf0c70e6f8  multipath-tools-130222.tgz


More information about the scm-commits mailing list