diff mbox

[00/15] Multipath patch resync

Message ID CABr-Gne6q0OedbxfqnQ+Lp9yGXvMC9D_n-9sVdc0Vw1qB-e=bg@mail.gmail.com (mailing list archive)
State Not Applicable, archived
Delegated to: christophe varoqui
Headers show

Commit Message

Christophe Varoqui March 8, 2015, 10:04 a.m. UTC
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 ?

 {
@@ -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@redhat.com>
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@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Comments

Benjamin Marzinski March 11, 2015, 1:35 a.m. UTC | #1
On Sun, Mar 08, 2015 at 11:04:19AM +0100, Christophe Varoqui wrote:
>    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 ?

Oops. Yeah. This looks fine. 

Thanks
-Ben

>    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
>    <[1]bmarzins@redhat.com> 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
> 
> References
> 
>    Visible links
>    1. mailto:bmarzins@redhat.com

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
diff mbox

Patch

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)