All good and applied. Thanks.
One minor glitch : building without LIBDM_API_DEFERRED defined leaves the dm_cancel_remove_partmaps() function without use, which emits the following build warning
devmapper.c:35:12: warning: ‘dm_cancel_remove_partmaps’ declared ‘static’ but never defined [-Wunused-function]
static int dm_cancel_remove_partmaps(const char * mapname);
Would moving the function declaration in the #ifdef be fine with you ?
diff --git a/libmultipath/devmapper.c b/libmultipath/devmapper.c
index 69491a3..458841f 100644
--- a/libmultipath/devmapper.c
+++ b/libmultipath/devmapper.c
@@ -32,8 +32,6 @@
#define UUID_PREFIX "mpath-"
#define UUID_PREFIX_LEN 6
-static int dm_cancel_remove_partmaps(const char * mapname);
-
#ifndef LIBDM_API_COOKIE
static inline int dm_task_set_cookie(struct dm_task *dmt, uint32_t *c, int a)
{
@@ -1134,9 +1132,15 @@ dm_remove_partmaps (const char * mapname, int need_sync, int deferred_remove)
return do_foreach_partmaps(mapname, remove_partmap, &rd);
}
+
#ifdef LIBDM_API_DEFERRED
static int
+dm_cancel_remove_partmaps(const char * mapname) {
+ return do_foreach_partmaps(mapname, cancel_remove_partmap, NULL);
+}
+
+static int
cancel_remove_partmap (char *name, void *unused)
{
if (dm_get_opencount(name))
@@ -1172,11 +1176,6 @@ out:
return r;
}
-static int
-dm_cancel_remove_partmaps(const char * mapname) {
- return do_foreach_partmaps(mapname, cancel_remove_partmap, NULL);
-}
-
int
dm_cancel_deferred_remove (struct multipath *mpp)
{
Best regards,
Christophe Varoqui
OpenSVC
On Sun, Mar 8, 2015 at 4:31 AM, Benjamin Marzinski <bmarzins@xxxxxxxxxx> wrote:
The first eight of these patches are resends of earlier patches, just
rebased with minor changes. The next two are minor changes, adding
multipath's -B option to mutipathd, and blacklisting vd.* devices.
The two after that allow multipath to read additional configuration
files in a configuration directory /etc/multipath/conf.d by default,
and then do some cleanup of the parser code that I noticed while
adding the configuration directories. The next patch adds two new
configuration parameters that allow multipathd to delay the
reintegration of paths that are failing repeatedly. The next one
fixes a hard to hit memory corruption bug, and the last one
updates the EMC builtin configuration to autodetect ALUA setups.
Benjamin Marzinski (15):
correctly set partition delimiter on rename
libmultipath: fix sysfs_get_size bug
Revert "libmultipath: fixup strlcpy"
libmultipath: refactor partmaps code
multipathd: fix memory corruption issue
multipathd: add deferred_remove support
multipathd: don't buffer output with systemd
libmutipath: allow blanks in device blacklist
multipathd: read-only bindings
multipath: blacklist virtio-blk devices
multipath: enable configuration directory
libmultipath: cleanup parser code
multipathd: Add delayed path reintegration
Fix doublee free of alias after map add failure
libmultipath: autodetect ALUA CLARiiON configurations
libmultipath/Makefile | 6 +
libmultipath/blacklist.c | 18 ++-
libmultipath/checkers.c | 1 +
libmultipath/checkers.h | 9 ++
libmultipath/config.c | 69 ++++++++++-
libmultipath/config.h | 12 ++
libmultipath/configure.c | 3 +
libmultipath/defaults.h | 3 +
libmultipath/devmapper.c | 284 +++++++++++++++++++++++++++++----------------
libmultipath/devmapper.h | 11 +-
libmultipath/dict.c | 126 +++++++++++++++++---
libmultipath/dict.h | 1 +
libmultipath/hwtable.c | 2 +
libmultipath/parser.c | 173 ++++++++-------------------
libmultipath/parser.h | 9 +-
libmultipath/print.c | 2 +
libmultipath/propsel.c | 58 +++++++++
libmultipath/propsel.h | 3 +
libmultipath/structs.h | 17 +++
libmultipath/structs_vec.c | 3 +-
libmultipath/sysfs.c | 2 +-
libmultipath/util.c | 3 +-
multipath.conf.annotated | 80 +++++++++++++
multipath.conf.defaults | 7 +-
multipath/multipath.conf.5 | 54 +++++++++
multipathd/main.c | 86 ++++++++++----
multipathd/multipathd.8 | 5 +
27 files changed, 761 insertions(+), 286 deletions(-)
--
1.8.3.1
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel