diff options
author | Konrad Rzeszutek <konrad@virtualiron.com> | 2009-04-02 23:04:17 +0200 |
---|---|---|
committer | Christophe Varoqui <christophe.varoqui@free.fr> | 2009-04-02 23:04:17 +0200 |
commit | 07ab7a1f6248e5e6a7003cee3bdaad34426af91d (patch) | |
tree | 1f6c792d2862ea418b5752eb546a7eb8704665e2 /libmultipath/configure.c | |
parent | be6b014d785d0e6bc34d3a5f2ac531df8b3d8690 (diff) | |
download | multipath-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.c | 10 |
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: |