All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Marzinski <bmarzins@redhat.com>
To: mwilck@suse.com
Cc: lixiaokeng@huawei.com, dm-devel@redhat.com
Subject: Re: [PATCH 00/19] multipath-tools: shutdown, libdevmapper races, globals
Date: Mon, 21 Sep 2020 15:20:13 -0500	[thread overview]
Message-ID: <20200921202013.GA11108@octiron.msp.redhat.com> (raw)
In-Reply-To: <20200916153718.582-1-mwilck@suse.com>

On Wed, Sep 16, 2020 at 05:36:59PM +0200, mwilck@suse.com wrote:
> From: Martin Wilck <mwilck@suse.com>
> 
> Hi Christophe, hi Ben,
> 
> this series contains a number of patches I've wanted to do for some
> time. As usual, it's based on my "upstream-queue" tree
> (https://github.com/openSUSE/multipath-tools/tree/upstream-queue).
> 
> Patch 1-8 are related to multipathd shutdown and systemd notifcation.
> Patch 1 and 8 have been part of my earlier series "multipath-tools: 
> Fix remaining shutdown delay issues" from Jan, 2019. But this is so
> long ago that I didn't mark this as a v2. I have tried to address
> Ben's issues with #1 (size_mismatch_seen leak, and premature sd_notify)
> (https://www.redhat.com/archives/dm-devel/2019-January/msg00097.html).
> #8 is just resent, after the recent discussion
> (https://www.redhat.com/archives/dm-devel/2020-August/msg00342.html).
> Ben's remark about sd_notify() drove me to reexamine that feature,
> and actually improve a little by informing systemd of shutdown and
> reconfigure operations.
> 
> Patch 9-11 are an attempt to fix races in libdevmapper, as discussed
> a while ago in the "fix fd leak when iscsi device logs in" thread
> (https://www.redhat.com/archives/dm-devel/2020-July/msg00321.html and
> references).
> 
> Patch 12ff. add definitions of the symbol get_multipath_config(),
> put_multipath_config(), udev, and logsink to libmultipath. This way
> callers won't have to bother with defining these global symbols any
> more in the future (but they still can).

Thanks for doing this. I really like these cleanups. I'll be resending
my libmpathvalid library code on top of this set.

Reviewed-by: Benjamin Marzinski <bmarizns@redhatc.com> 
For all the patches I didn't comment on. 

-Ben

> Regards,
> Martin
> 
> Cc: lixiaokeng@huawei.com
> 
> Martin Wilck (19):
>   multipathd: allow shutdown during configure()
>   multipathd: avoid sending "READY=1" to systemd on early shutdown
>   multipathd: send "STOPPING=1" to systemd on shutdown
>   multipathd: send "RELOADING=1" to systemd on DAEMON_CONFIGURE state
>   multipathd: use volatile qualifier for running_state
>   multipathd: generalize and fix wait_for_state_change_if()
>   multipathd: set_config_state(): avoid code duplication
>   multipathd: cancel threads early during shutdown
>   multipath-tools: don't call dm_lib_release() any more
>   libmultipath: devmapper: refactor libdm version determination
>   libmultipath: protect racy libdevmapper calls with a mutex
>   libmultipath: constify file argument in config parser
>   libmultipath: provide defaults for {get,put}_multipath_config
>   libmpathpersist: allow using libmultipath {get,put}_multipath_config
>   multipath: use {get_put}_multipath_config from libmultipath
>   mpathpersist: use {get,put}_multipath_config() from libmultipath
>   libmultipath: add udev and logsink symbols
>   multipath: remove logsink and udev
>   mpathpersist: remove logsink and udev
> 
>  kpartx/kpartx.c                 |   1 -
>  libmpathpersist/mpath_persist.c |  43 +++++-
>  libmpathpersist/mpath_persist.h |  28 ++++
>  libmultipath/config.c           |  95 +++++++++++--
>  libmultipath/config.h           |  28 +++-
>  libmultipath/configure.c        |   6 +
>  libmultipath/debug.c            |   2 +
>  libmultipath/devmapper.c        | 228 +++++++++++++++++++++-----------
>  libmultipath/devmapper.h        |  13 +-
>  libmultipath/discovery.c        |   3 +
>  libmultipath/parser.c           |   9 +-
>  libmultipath/parser.h           |   2 +-
>  libmultipath/propsel.c          |  10 +-
>  libmultipath/util.c             |  10 ++
>  libmultipath/util.h             |   2 +
>  mpathpersist/main.c             |  26 +---
>  multipath/main.c                |  28 +---
>  multipathd/cli_handlers.c       |   2 -
>  multipathd/dmevents.c           |   4 +-
>  multipathd/main.c               | 117 ++++++++--------
>  multipathd/waiter.c             |   2 +-
>  21 files changed, 441 insertions(+), 218 deletions(-)
> 
> -- 
> 2.28.0

      parent reply	other threads:[~2020-09-21 20:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-16 15:36 [PATCH 00/19] multipath-tools: shutdown, libdevmapper races, globals mwilck
2020-09-16 15:37 ` [PATCH 01/19] multipathd: allow shutdown during configure() mwilck
2020-09-16 15:37 ` [PATCH 02/19] multipathd: avoid sending "READY=1" to systemd on early shutdown mwilck
2020-09-16 15:37 ` [PATCH 03/19] multipathd: send "STOPPING=1" to systemd on shutdown mwilck
2020-09-16 15:37 ` [PATCH 04/19] multipathd: send "RELOADING=1" to systemd on DAEMON_CONFIGURE state mwilck
2020-09-16 15:37 ` [PATCH 05/19] multipathd: use volatile qualifier for running_state mwilck
2020-09-16 15:37 ` [PATCH 06/19] multipathd: generalize and fix wait_for_state_change_if() mwilck
2020-09-16 15:37 ` [PATCH 07/19] multipathd: set_config_state(): avoid code duplication mwilck
2020-09-19 19:01   ` Benjamin Marzinski
2020-09-16 15:37 ` [PATCH 08/19] multipathd: cancel threads early during shutdown mwilck
2020-09-16 15:37 ` [PATCH 09/19] multipath-tools: don't call dm_lib_release() any more mwilck
2020-09-16 15:37 ` [PATCH 10/19] libmultipath: devmapper: refactor libdm version determination mwilck
2020-09-19 22:14   ` Benjamin Marzinski
2020-09-21  8:35     ` Martin Wilck
2020-09-16 15:37 ` [PATCH 11/19] libmultipath: protect racy libdevmapper calls with a mutex mwilck
2020-09-16 15:37 ` [PATCH 12/19] libmultipath: constify file argument in config parser mwilck
2020-09-16 15:37 ` [PATCH 13/19] libmultipath: provide defaults for {get, put}_multipath_config mwilck
2020-09-21 19:08   ` Benjamin Marzinski
2020-09-21 19:42     ` Martin Wilck
2020-09-16 15:37 ` [PATCH 14/19] libmpathpersist: allow using libmultipath " mwilck
2020-09-16 15:37 ` [PATCH 15/19] multipath: use {get_put}_multipath_config from libmultipath mwilck
2020-09-16 15:37 ` [PATCH 16/19] mpathpersist: use {get, put}_multipath_config() " mwilck
2020-09-16 15:37 ` [PATCH 17/19] libmultipath: add udev and logsink symbols mwilck
2020-09-21 20:10   ` Benjamin Marzinski
2020-09-23  8:16     ` Martin Wilck
2020-09-23 16:05       ` Benjamin Marzinski
2020-09-16 15:37 ` [PATCH 18/19] multipath: remove logsink and udev mwilck
2020-09-16 15:37 ` [PATCH 19/19] mpathpersist: " mwilck
2020-09-21 20:15   ` Benjamin Marzinski
2020-09-22 11:32     ` Martin Wilck
2020-09-21 20:20 ` Benjamin Marzinski [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200921202013.GA11108@octiron.msp.redhat.com \
    --to=bmarzins@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=lixiaokeng@huawei.com \
    --cc=mwilck@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.