device-mapper-multipath-0.4.9-48
Add 0026-fix-checker-time.patch * Once multipathd hit it max checker interval, it was reverting to to shortest checker interval Add 0027-RH-get-wwid.patch * Multipath wasn't correctly setting the multipath wwid when it read devices in from the kernel Add 0028-RHBZ-929078-refresh-udev-dev.patch * Make multipath try to get the UID of down devices. Also, on ev_add_path, make multipathd reinitialize existing devices that weren't fully initialized before.
This commit is contained in:
parent
816bea4c19
commit
0b94e5c7c2
23
0026-fix-checker-time.patch
Normal file
23
0026-fix-checker-time.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
multipathd/main.c | 7 +++----
|
||||||
|
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
Index: multipath-tools-130222/multipathd/main.c
|
||||||
|
===================================================================
|
||||||
|
--- multipath-tools-130222.orig/multipathd/main.c
|
||||||
|
+++ multipath-tools-130222/multipathd/main.c
|
||||||
|
@@ -1226,11 +1226,10 @@ check_path (struct vectors * vecs, struc
|
||||||
|
pp->checkint = 2 * pp->checkint;
|
||||||
|
else
|
||||||
|
pp->checkint = conf->max_checkint;
|
||||||
|
-
|
||||||
|
- pp->tick = pp->checkint;
|
||||||
|
- condlog(4, "%s: delay next check %is",
|
||||||
|
- pp->dev_t, pp->tick);
|
||||||
|
}
|
||||||
|
+ pp->tick = pp->checkint;
|
||||||
|
+ condlog(4, "%s: delay next check %is",
|
||||||
|
+ pp->dev_t, pp->tick);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (newstate == PATH_DOWN) {
|
17
0027-RH-get-wwid.patch
Normal file
17
0027-RH-get-wwid.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
libmultipath/structs_vec.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: multipath-tools-130222/libmultipath/structs_vec.c
|
||||||
|
===================================================================
|
||||||
|
--- multipath-tools-130222.orig/libmultipath/structs_vec.c
|
||||||
|
+++ multipath-tools-130222/libmultipath/structs_vec.c
|
||||||
|
@@ -106,7 +106,7 @@ orphan_paths (vector pathvec, struct mul
|
||||||
|
static void
|
||||||
|
set_multipath_wwid (struct multipath * mpp)
|
||||||
|
{
|
||||||
|
- if (mpp->wwid)
|
||||||
|
+ if (strlen(mpp->wwid))
|
||||||
|
return;
|
||||||
|
|
||||||
|
dm_get_uuid(mpp->alias, mpp->wwid);
|
55
0028-RHBZ-929078-refresh-udev-dev.patch
Normal file
55
0028-RHBZ-929078-refresh-udev-dev.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
---
|
||||||
|
libmultipath/discovery.c | 2 +-
|
||||||
|
multipathd/main.c | 19 ++++++++++++++++++-
|
||||||
|
2 files changed, 19 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
Index: multipath-tools-130222/libmultipath/discovery.c
|
||||||
|
===================================================================
|
||||||
|
--- multipath-tools-130222.orig/libmultipath/discovery.c
|
||||||
|
+++ multipath-tools-130222/libmultipath/discovery.c
|
||||||
|
@@ -1034,7 +1034,7 @@ pathinfo (struct path *pp, vector hwtabl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (path_state == PATH_UP && (mask & DI_WWID) && !strlen(pp->wwid))
|
||||||
|
+ if ((mask & DI_WWID) && !strlen(pp->wwid))
|
||||||
|
get_uid(pp);
|
||||||
|
if (mask & DI_BLACKLIST && mask & DI_WWID) {
|
||||||
|
if (filter_wwid(conf->blist_wwid, conf->elist_wwid,
|
||||||
|
Index: multipath-tools-130222/multipathd/main.c
|
||||||
|
===================================================================
|
||||||
|
--- multipath-tools-130222.orig/multipathd/main.c
|
||||||
|
+++ multipath-tools-130222/multipathd/main.c
|
||||||
|
@@ -376,7 +376,7 @@ static int
|
||||||
|
uev_add_path (struct uevent *uev, struct vectors * vecs)
|
||||||
|
{
|
||||||
|
struct path *pp;
|
||||||
|
- int ret;
|
||||||
|
+ int ret, i;
|
||||||
|
|
||||||
|
condlog(2, "%s: add path (uevent)", uev->kernel);
|
||||||
|
if (strstr(uev->kernel, "..") != NULL) {
|
||||||
|
@@ -393,6 +393,23 @@ uev_add_path (struct uevent *uev, struct
|
||||||
|
uev->kernel);
|
||||||
|
if (pp->mpp)
|
||||||
|
return 0;
|
||||||
|
+ if (!strlen(pp->wwid)) {
|
||||||
|
+ udev_device_unref(pp->udev);
|
||||||
|
+ pp->udev = udev_device_ref(uev->udev);
|
||||||
|
+ ret = pathinfo(pp, conf->hwtable,
|
||||||
|
+ DI_ALL | DI_BLACKLIST);
|
||||||
|
+ if (ret == 2) {
|
||||||
|
+ i = find_slot(vecs->pathvec, (void *)pp);
|
||||||
|
+ if (i != -1)
|
||||||
|
+ vector_del_slot(vecs->pathvec, i);
|
||||||
|
+ free_path(pp);
|
||||||
|
+ return 0;
|
||||||
|
+ } else if (ret == 1) {
|
||||||
|
+ condlog(0, "%s: failed to reinitialize path",
|
||||||
|
+ uev->kernel);
|
||||||
|
+ return 1;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* get path vital state
|
@ -1,7 +1,7 @@
|
|||||||
Summary: Tools to manage multipath devices using device-mapper
|
Summary: Tools to manage multipath devices using device-mapper
|
||||||
Name: device-mapper-multipath
|
Name: device-mapper-multipath
|
||||||
Version: 0.4.9
|
Version: 0.4.9
|
||||||
Release: 47%{?dist}
|
Release: 48%{?dist}
|
||||||
License: GPL+
|
License: GPL+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
URL: http://christophe.varoqui.free.fr/
|
URL: http://christophe.varoqui.free.fr/
|
||||||
@ -33,6 +33,9 @@ Patch0022: 0022-RH-multipathd-check-wwids.patch
|
|||||||
Patch0023: 0023-RH-multipath-wipe-wwid.patch
|
Patch0023: 0023-RH-multipath-wipe-wwid.patch
|
||||||
Patch0024: 0024-RH-multipath-wipe-wwids.patch
|
Patch0024: 0024-RH-multipath-wipe-wwids.patch
|
||||||
Patch0025: 0025-UPBZ-916668_add_maj_min.patch
|
Patch0025: 0025-UPBZ-916668_add_maj_min.patch
|
||||||
|
Patch0026: 0026-fix-checker-time.patch
|
||||||
|
Patch0027: 0027-RH-get-wwid.patch
|
||||||
|
Patch0028: 0028-RHBZ-929078-refresh-udev-dev.patch
|
||||||
|
|
||||||
# runtime
|
# runtime
|
||||||
Requires: %{name}-libs = %{version}-%{release}
|
Requires: %{name}-libs = %{version}-%{release}
|
||||||
@ -110,6 +113,9 @@ kpartx manages partition creation and removal for device-mapper devices.
|
|||||||
%patch0023 -p1
|
%patch0023 -p1
|
||||||
%patch0024 -p1
|
%patch0024 -p1
|
||||||
%patch0025 -p1
|
%patch0025 -p1
|
||||||
|
%patch0026 -p1
|
||||||
|
%patch0027 -p1
|
||||||
|
%patch0028 -p1
|
||||||
cp %{SOURCE1} .
|
cp %{SOURCE1} .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -200,6 +206,18 @@ bin/systemctl --no-reload enable multipathd.service >/dev/null 2>&1 ||:
|
|||||||
%{_mandir}/man8/kpartx.8.gz
|
%{_mandir}/man8/kpartx.8.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 4 2013 Benjamin Marzinski <bmarzins@redhat.com> 0.4.9-48
|
||||||
|
- Add 0026-fix-checker-time.patch
|
||||||
|
* Once multipathd hit it max checker interval, it was reverting to
|
||||||
|
to shortest checker interval
|
||||||
|
- Add 0027-RH-get-wwid.patch
|
||||||
|
* Multipath wasn't correctly setting the multipath wwid when it read devices
|
||||||
|
in from the kernel
|
||||||
|
- Add 0028-RHBZ-929078-refresh-udev-dev.patch
|
||||||
|
* Make multipath try to get the UID of down devices. Also, on ev_add_path,
|
||||||
|
make multipathd reinitialize existing devices that weren't fully
|
||||||
|
initialized before.
|
||||||
|
|
||||||
* Mon Apr 1 2013 Benjamin Marzinski <bmarzins@redhat.com> 0.4.9-47
|
* Mon Apr 1 2013 Benjamin Marzinski <bmarzins@redhat.com> 0.4.9-47
|
||||||
- Add 0021-RHBZ-919119-respect-kernel-cmdline.patch
|
- Add 0021-RHBZ-919119-respect-kernel-cmdline.patch
|
||||||
* keep the multipath.rules udev file from running and multipathd from
|
* keep the multipath.rules udev file from running and multipathd from
|
||||||
|
Loading…
Reference in New Issue
Block a user