diff options
author | Christophe Varoqui <christophe.varoqui@free.fr> | 2008-05-20 00:07:45 +0200 |
---|---|---|
committer | Christophe Varoqui <christophe.varoqui@free.fr> | 2008-05-21 22:01:17 +0200 |
commit | a4d0b34e841aae7e0722ba532ca46ff78b0f106e (patch) | |
tree | 99b2e228bed49d7bc36e0f275c5975ce06c0898c /multipathd/main.c | |
parent | db06d678fedfcefcf202b14b9aec0c06a99ee1bc (diff) | |
download | multipath-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.c | 4 |
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; /* |