efd38c93e9
Modify multipath.conf * remove getuid_callout example Re-add 0050-RH-listing-speedup.patch Add 0081-RHBZ-1066264-check-prefix-on-rename.patch * make multipath check the prefix on kpartx partitions during rename, and copy the existing behaviour Add 0082-UPBZ-1109995-no-sync-turs-on-pthread_cancel.patch * If async tur checker fails on threads, don't retry with the sync version Add 0083-RHBZ-1080055-orphan-paths-on-reload.patch * Fix case where pathlist wasn't getting updated properly Add 0084-RHBZ-1110000-multipath-man.patch * fix errors in multipath man page Add 0085-UPBZ-1110006-datacore-config.patch * Add support for DataCore Virtual Disk Add 0086-RHBZ-1110007-orphan-path-on-failed-add.patch * If multipathd fails to add path correctly, it now fully orphans the path Add 0087-RHBZ-1110013-config-error-checking.patch * Improve multipath.conf error checking. Add 0088-RHBZ-1069811-configurable-prio-timeout.patch * checker_timeout now adjusts the timeouts of the prioritizers as well. Add 0089-RHBZ-1110016-add-noasync-option.patch * Add a new defaults option, "force_sync", that disables the async mode of the path checkers. This is for cases where to many parallel checkers hog the cpu Add 0090-UPBZ-1080038-reorder-paths-for-round-robin.patch * make multipathd order paths for better throughput in round-robin mode Add 0091-RHBZ-1069584-fix-empty-values-fast-io-fail-and-dev-loss.patch * check for null pointers in configuration reading code. Add 0092-UPBZ-1104605-reload-on-rename.patch * Reload table on rename if necessary Add 0093-UPBZ-1086825-user-friendly-name-remap.patch * Keep existing user_friend_name if possible Add 0094-RHBZ-1086825-cleanup-remap.patch * Cleanup issues with upstream patch Add 0095-RHBZ-1127944-xtremIO-config.patch * Add support for EMC ExtremIO devices Add 0096-RHBZ-979474-new-wildcards.patch * Add N, n, R, and r path wildcards to print World Wide ids Add 0097-RH-fix-coverity-errors.patch * Fix a number of unterminated strings and memory leaks on failure paths. Add 0098-UPBZ-1067171-mutipath-i.patch * Add -i option to ignore wwids file when checking for valid paths Add 0099-RH-add-all-devs.patch * Add new devices config option all_devs. This makes the configuration overwrite the specified values in all builtin configs Add 0100-RHBZ-1067171-multipath-i-update.patch * make -i work correctly with find_multipaths Add 0101-RH-adapter-name-wildcard.patch * Add 'a' path wildcard to print adapter name
64 lines
1.9 KiB
Diff
64 lines
1.9 KiB
Diff
---
|
|
libmultipath/configure.c | 11 +++++++++++
|
|
libmultipath/configure.h | 1 +
|
|
libmultipath/devmapper.c | 3 +--
|
|
3 files changed, 13 insertions(+), 2 deletions(-)
|
|
|
|
Index: multipath-tools-130222/libmultipath/configure.c
|
|
===================================================================
|
|
--- multipath-tools-130222.orig/libmultipath/configure.c
|
|
+++ multipath-tools-130222/libmultipath/configure.c
|
|
@@ -394,6 +394,8 @@ select_action (struct multipath * mpp, v
|
|
cmpp->alias, mpp->alias);
|
|
strncpy(mpp->alias_old, cmpp->alias, WWID_SIZE);
|
|
mpp->action = ACT_RENAME;
|
|
+ if (force_reload)
|
|
+ mpp->action = ACT_RENAME2;
|
|
return;
|
|
}
|
|
mpp->action = ACT_CREATE;
|
|
@@ -632,6 +634,15 @@ domap (struct multipath * mpp, char * pa
|
|
r = dm_rename(mpp->alias_old, mpp->alias);
|
|
break;
|
|
|
|
+ case ACT_RENAME2:
|
|
+ r = dm_rename(mpp->alias_old, mpp->alias);
|
|
+ if (r) {
|
|
+ r = dm_addmap_reload(mpp, params);
|
|
+ if (r)
|
|
+ r = dm_simplecmd_noflush(DM_DEVICE_RESUME, mpp->alias, MPATH_UDEV_RELOAD_FLAG);
|
|
+ }
|
|
+ break;
|
|
+
|
|
default:
|
|
break;
|
|
}
|
|
Index: multipath-tools-130222/libmultipath/configure.h
|
|
===================================================================
|
|
--- multipath-tools-130222.orig/libmultipath/configure.h
|
|
+++ multipath-tools-130222/libmultipath/configure.h
|
|
@@ -18,6 +18,7 @@ enum actions {
|
|
ACT_RENAME,
|
|
ACT_CREATE,
|
|
ACT_RESIZE,
|
|
+ ACT_RENAME2,
|
|
};
|
|
|
|
#define FLUSH_ONE 1
|
|
Index: multipath-tools-130222/libmultipath/devmapper.c
|
|
===================================================================
|
|
--- multipath-tools-130222.orig/libmultipath/devmapper.c
|
|
+++ multipath-tools-130222/libmultipath/devmapper.c
|
|
@@ -565,10 +565,9 @@ dm_dev_t (const char * mapname, char * d
|
|
if (!dm_task_run(dmt))
|
|
goto out;
|
|
|
|
- if (!dm_task_get_info(dmt, &info))
|
|
+ if (!dm_task_get_info(dmt, &info) || !info.exists)
|
|
goto out;
|
|
|
|
- r = info.open_count;
|
|
if (snprintf(dev_t, len, "%i:%i", info.major, info.minor) > len)
|
|
goto out;
|
|
|