device-mapper-multipath/0092-UPBZ-1104605-reload-on-rename.patch
Benjamin Marzinski efd38c93e9 device-mapper-multipath-0.4.9-68
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
2014-09-16 18:22:40 -05:00

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;