[dm-devel] [PATCH v5 00/21] libmultipath: checkers overhaul

Christophe Varoqui christophe.varoqui at opensvc.com
Wed Nov 14 07:39:05 UTC 2018


Merged.
Thanks.

On Fri, Nov 2, 2018 at 1:23 PM Martin Wilck <mwilck at suse.com> wrote:

> Hi Christophe,
>
> This is v5 of my "checkers overhaul" series. Changed wrt v4
> are 03/22, 11/22, and 21/22. I re-post the whole series to
> avoid confusion.
>
> This series starts with a few minor fixes and then attempts
> an overhaul of the checker code.
>
> First, there's a block of patches to get rid of the "message"
> char array in struct checker, replacing it with an integer.
> This topic had been touched in recent discussion between Ben
> and myself. You may want to collaps the patches in this block
> (03/21-11/21) into one when commiting; compilation errors will
> arise if only part of them is a applied.
>
> The next larger block fixes problems with checkers that try
> to check unsupported devices. It's an interesting experience
> to configure wrong checkers for the existing devices and see
> what happens. With these patches, paths won't be falsely
> teared down any more in such situations.
>
> The last patch cleans up the checker data structure by splitting
> it into a "checker class" and the path "checker instance".
>
> There's more work to do in this area, but this is a start.
>
> ----
> changes v4->v5
>  - 03/21: made checker_message() const again, as 22/22 is gone.
>    Got rid of the static buffer in checker_message() by simply returning
>    the constant message strings, as suggested by Ben in his review of v4.
>    This implies printf format changes in callers; changed format in
> get_state().
>  - 11/21: Changed printf format in check_path() (see above).
>  - 21/22: rebased, no actual changes (kept Ben's Reviewed-by).
>  - 22/22: dropped, obsolete.
>
> Changes v3->v4:
>  - 03/22: renamed CHECKER_LAST_GENERIC_MSGID ->
> CHECKER_GENERIC_MSGTABLE_SIZE
>           (Ben).
>  - 12/22: rebased on top of changed 03/22.
>
> Changes v2->v3:
>  - 03/22: fixed one minor issue mentioned by Ben;
>           reverted the const-ification of checker_message(),
>           as it will be reverted in 22/22 anyway.
>  - 13/22: fix clariion checker semantics (Ben).
>  - 21/22: rebased on top of updated 03/22.
>  - 22/22: fix thread-safety issue from 03/22 (Ben).
>
> Changes v1->v2:
>  - 11/22: rebased on top of "various multipath-tools patches" series
>
> Martin Wilck (21):
>   libmultipath: fix use of uninitialized memory in write()
>   libmultipath: fix memory leaks from scandir() use
>   libmultipath/checkers: replace message by msgid
>   libmultipath/checkers: cciss_tur: use message id
>   libmultipath/checkers: directio: use message id
>   libmultipath/checkers: emc_clariion: use message id
>   libmultipath/checkers: hp_sw: use message id
>   libmultipath/checkers: rdac: use message id
>   libmultipath/checkers: readsector0: use message id
>   libmultipath/checkers: tur: use message id
>   multipathd: improve checker message logging
>   libmultipath/checkers: support unsupported paths
>   libmultipath: clariion checker: leave unsupported paths alone
>   libmultipath: hp_sw checker: leave unsupported paths alone
>   libmultipath: rdac checker: leave unsupported paths alone
>   libmultipath: tur checker: leave unsupported paths alone
>   libmultipath: pathinfo: don't blank wwid if checker fails
>   multipathd: check_path: improve logging for "unusable path" case
>   libmultipath: coalesce_paths: improve logging of orphaned paths
>   libmultipath: sync_map_state: log failing paths
>   libmultipath/checkers: cleanup class/instance model
>
>  libmultipath/checkers.c              | 187 +++++++++++++++++----------
>  libmultipath/checkers.h              |  69 ++++++----
>  libmultipath/checkers/cciss_tur.c    |  13 +-
>  libmultipath/checkers/directio.c     |  29 +++--
>  libmultipath/checkers/emc_clariion.c | 114 +++++++++++++---
>  libmultipath/checkers/hp_sw.c        |  39 +++---
>  libmultipath/checkers/rdac.c         |  92 +++++++++----
>  libmultipath/checkers/readsector0.c  |   7 +-
>  libmultipath/checkers/tur.c          |  60 +++++----
>  libmultipath/config.c                |  10 +-
>  libmultipath/configure.c             |  10 +-
>  libmultipath/discovery.c             |  11 +-
>  libmultipath/foreign.c               |   5 +-
>  libmultipath/foreign/nvme.c          |   6 +-
>  libmultipath/print.c                 |   2 +-
>  libmultipath/propsel.c               |  19 +--
>  libmultipath/structs_vec.c           |   5 +-
>  libmultipath/sysfs.c                 |   5 +-
>  libmultipath/util.c                  |   9 ++
>  libmultipath/util.h                  |   9 ++
>  multipathd/main.c                    |  38 ++++--
>  21 files changed, 497 insertions(+), 242 deletions(-)
>
> --
> 2.19.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20181114/6d888f99/attachment.htm>


More information about the dm-devel mailing list