summaryrefslogtreecommitdiff
path: root/libmultipath/configure.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek <konrad@virtualiron.com>2009-04-02 23:04:17 +0200
committerChristophe Varoqui <christophe.varoqui@free.fr>2009-04-02 23:04:17 +0200
commit07ab7a1f6248e5e6a7003cee3bdaad34426af91d (patch)
tree1f6c792d2862ea418b5752eb546a7eb8704665e2 /libmultipath/configure.c
parentbe6b014d785d0e6bc34d3a5f2ac531df8b3d8690 (diff)
downloadmultipath-tools-07ab7a1f6248e5e6a7003cee3bdaad34426af91d.tar.gz
multipath-tools-07ab7a1f6248e5e6a7003cee3bdaad34426af91d.tar.bz2
multipath-tools-07ab7a1f6248e5e6a7003cee3bdaad34426af91d.zip
Support resizing of multipath maps.
This is patch that initially showed up on dm-devel mailing list: http://www.linux-archive.org/device-mapper-development/162594-multipath-tools-libmultipath-configure-c-libmu.html which was posted on dm-devel mailing list, but never ported over to work with the git version. This forward-port by me works.
Diffstat (limited to 'libmultipath/configure.c')
-rw-r--r--libmultipath/configure.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/libmultipath/configure.c b/libmultipath/configure.c
index e00582f..ed20f37 100644
--- a/libmultipath/configure.c
+++ b/libmultipath/configure.c
@@ -353,7 +353,15 @@ domap (struct multipath * mpp)
case ACT_RELOAD:
r = (dm_addmap_reload(mpp->alias, mpp->params, mpp->size, NULL)
- && dm_simplecmd(DM_DEVICE_RESUME, mpp->alias));
+ && dm_simplecmd(DM_DEVICE_RESUME, mpp->alias, 1));
+ break;
+
+ case ACT_RESIZE:
+ r = dm_addmap_reload_ro(mpp->alias, mpp->params, mpp->size, NULL);
+ if (!r)
+ r = dm_addmap_reload(mpp->alias, mpp->params, mpp->size, NULL);
+ if (r)
+ r = dm_simplecmd(DM_DEVICE_RESUME, mpp->alias, 0);
break;
case ACT_RENAME: