summaryrefslogtreecommitdiff
path: root/multipathd/main.c
diff options
context:
space:
mode:
authorChristophe Varoqui <christophe.varoqui@free.fr>2008-05-20 00:07:45 +0200
committerChristophe Varoqui <christophe.varoqui@free.fr>2008-05-21 22:01:17 +0200
commita4d0b34e841aae7e0722ba532ca46ff78b0f106e (patch)
tree99b2e228bed49d7bc36e0f275c5975ce06c0898c /multipathd/main.c
parentdb06d678fedfcefcf202b14b9aec0c06a99ee1bc (diff)
downloadmultipath-tools-a4d0b34e841aae7e0722ba532ca46ff78b0f106e.tar.gz
multipath-tools-a4d0b34e841aae7e0722ba532ca46ff78b0f106e.tar.bz2
multipath-tools-a4d0b34e841aae7e0722ba532ca46ff78b0f106e.zip
add '-r' option to force devmap reload
This takes care of updating the write-protection flag of the devmap in case the write-prot of the underlying paths has changed (and the kernel somehow has discovered so). Now a RO->RW change scenario for a multipathed device can be treated with : 1/ echo 1 >/sys/block/XX/device/rescan on all paths to dev 2/ multipath -r dev Which minimaly fulfills my needs with Symmetrix SRDF spliting in interim of more collaboration from other subsystems.
Diffstat (limited to 'multipathd/main.c')
-rw-r--r--multipathd/main.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/multipathd/main.c b/multipathd/main.c
index ac9cd36..8c752d2 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -266,7 +266,7 @@ ev_add_map (struct sysfs_device * dev, struct vectors * vecs)
refwwid = get_refwwid(dev->kernel, DEV_DEVMAP, vecs->pathvec);
if (refwwid) {
- r = coalesce_paths(vecs, NULL, refwwid);
+ r = coalesce_paths(vecs, NULL, refwwid, 0);
dm_lib_release();
}
@@ -1080,7 +1080,7 @@ configure (struct vectors * vecs, int start_waiters)
/*
* create new set of maps & push changed ones into dm
*/
- if (coalesce_paths(vecs, mpvec, NULL))
+ if (coalesce_paths(vecs, mpvec, NULL, 0))
return 1;
/*