[dm-devel] [PATCH v2 0/4] Make prio timeouts work like checkers

Benjamin Marzinski bmarzins at redhat.com
Thu Aug 31 21:57:08 UTC 2023


This patchset changes how prioritizers set their timeouts, to make them
match how the checker functions work, and also cleans up some minor
timeout issues.

This patchset has been entirely reworked based on suggestions from
Martin Wilck: Patch [1/4] no longer rechecks the timeout values at all
in the checker loop. Patch [2/4] makes the checker_timeout a path
variable, following Martin's suggestion. Patch [3/4] roughly corresponds
to patches 2, 3 & 4 of the previous patchset, except that it uses the
path's checker_timeout variable to cleanup a number of function calls,
and incidentally fixes the issues in detect_prio() and the path_latency
prioritizer. Patch [4/4] is new. It makes the datacore checker respect
the checker timeout as well, if no timeout is specified in the prio
args.

Benjamin Marzinski (4):
  libmultipath: don't bother to recheck timeout
  libmultipath: make checker_timeout a path variable
  libmultipath: make prioritizer timeouts work like checker timeouts
  libmultipath: standardize datacore prioritizer timeouts

 libmultipath/discovery.c                 | 21 ++++----------
 libmultipath/libmultipath.version        |  4 +--
 libmultipath/prio.c                      | 21 ++++++++------
 libmultipath/prio.h                      |  9 +++---
 libmultipath/prioritizers/alua.c         | 12 ++++----
 libmultipath/prioritizers/alua_rtpg.c    | 31 +++++++++++----------
 libmultipath/prioritizers/alua_rtpg.h    |  7 ++---
 libmultipath/prioritizers/ana.c          |  3 +-
 libmultipath/prioritizers/const.c        |  3 +-
 libmultipath/prioritizers/datacore.c     | 19 +++++--------
 libmultipath/prioritizers/emc.c          |  9 +++---
 libmultipath/prioritizers/hds.c          |  9 +++---
 libmultipath/prioritizers/hp_sw.c        |  9 +++---
 libmultipath/prioritizers/iet.c          |  3 +-
 libmultipath/prioritizers/ontap.c        | 20 ++++++--------
 libmultipath/prioritizers/path_latency.c |  9 +++---
 libmultipath/prioritizers/random.c       |  3 +-
 libmultipath/prioritizers/rdac.c         |  9 +++---
 libmultipath/prioritizers/sysfs.c        |  3 +-
 libmultipath/prioritizers/weightedpath.c |  3 +-
 libmultipath/propsel.c                   | 35 +++++++++++++++---------
 libmultipath/structs.c                   |  1 +
 libmultipath/structs.h                   |  1 +
 23 files changed, 117 insertions(+), 127 deletions(-)

-- 
2.17.2



More information about the dm-devel mailing list