From: Martin Wilck <mwilck@suse.com>
To: Christophe Varoqui <christophe.varoqui@opensvc.com>,
Benjamin Marzinski <bmarzins@redhat.com>
Cc: dm-devel@redhat.com, Martin Wilck <mwilck@suse.com>
Subject: [PATCH v5 00/21] libmultipath: checkers overhaul
Date: Fri, 2 Nov 2018 13:21:04 +0100 [thread overview]
Message-ID: <20181102122125.30906-1-mwilck@suse.com> (raw)
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 reply other threads:[~2018-11-02 12:21 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-02 12:21 Martin Wilck [this message]
2018-11-02 12:21 ` [PATCH v5 01/21] libmultipath: fix use of uninitialized memory in write() Martin Wilck
2018-11-02 12:21 ` [PATCH v5 02/21] libmultipath: fix memory leaks from scandir() use Martin Wilck
2018-11-02 12:21 ` [PATCH v5 03/21] libmultipath/checkers: replace message by msgid Martin Wilck
2018-11-02 16:05 ` Benjamin Marzinski
2018-11-02 12:21 ` [PATCH v5 04/21] libmultipath/checkers: cciss_tur: use message id Martin Wilck
2018-11-02 12:21 ` [PATCH v5 05/21] libmultipath/checkers: directio: " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 06/21] libmultipath/checkers: emc_clariion: " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 07/21] libmultipath/checkers: hp_sw: " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 08/21] libmultipath/checkers: rdac: " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 09/21] libmultipath/checkers: readsector0: " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 10/21] libmultipath/checkers: tur: " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 11/21] multipathd: improve checker message logging Martin Wilck
2018-11-02 16:54 ` Benjamin Marzinski
2018-11-02 12:21 ` [PATCH v5 12/21] libmultipath/checkers: support unsupported paths Martin Wilck
2018-11-02 12:21 ` [PATCH v5 13/21] libmultipath: clariion checker: leave unsupported paths alone Martin Wilck
2018-11-02 12:21 ` [PATCH v5 14/21] libmultipath: hp_sw " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 15/21] libmultipath: rdac " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 16/21] libmultipath: tur " Martin Wilck
2018-11-02 12:21 ` [PATCH v5 17/21] libmultipath: pathinfo: don't blank wwid if checker fails Martin Wilck
2018-11-02 12:21 ` [PATCH v5 18/21] multipathd: check_path: improve logging for "unusable path" case Martin Wilck
2018-11-02 12:21 ` [PATCH v5 19/21] libmultipath: coalesce_paths: improve logging of orphaned paths Martin Wilck
2018-11-02 12:21 ` [PATCH v5 20/21] libmultipath: sync_map_state: log failing paths Martin Wilck
2018-11-02 12:21 ` [PATCH v5 21/21] libmultipath/checkers: cleanup class/instance model Martin Wilck
2018-11-14 7:39 ` [PATCH v5 00/21] libmultipath: checkers overhaul Christophe Varoqui
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=20181102122125.30906-1-mwilck@suse.com \
--to=mwilck@suse.com \
--cc=bmarzins@redhat.com \
--cc=christophe.varoqui@opensvc.com \
--cc=dm-devel@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox