opensvc / multipath-tools

Other
59 stars 47 forks source link

multipath-tools 0.10.0 #94

Closed mwilck closed 2 weeks ago

mwilck commented 4 weeks ago

multipath-tools 0.10.0, 2024/08

@cvaroqui, @bmarzins, Please comment on the version number!

There were serveral possibilities after 0.9.9, including 0.9.10, 0.10.0, and even 1.0.0. I don't think 1.0 is justified yet, and we've never used a last digit higher than 9 before, so I thought 0.10.0 was a reasonable choice. The "bump" of the second field indicates some major changes, which is true for this release, even though the number of user-visible changes is low. Anyway, this isn't cast in stone, let me know if you disagree.

User-Visible Changes

Other major changes

Bug fixes

Other

Shortlog

@bmarzins (44):

      multipathd: use condlog level for setscheduler error message
      multipathd: make multipathd scheduling configurable
      multipathd: make multipathd set priority to RLIMIT_RTPRIO
      multipathd: Set CPUWeight to 1000 and LimitRTPRIO to 10
      libmultipath: export partmap_in_use
      libmultipath: change flush_on_last_del to fix a multipathd hang
      libmultipath: remove redundant config option from InfiniBox config
      libmultipath: pad dev_loss_tmo to avoid race with no_path_retry
      libmultipath: fix deferred_remove function arguments
      libmultipath: accept poorly chosen aliases in find_mp_by_str
      libmultipath: accept wwids in find_mp_by_str
      multipath-tools man pages: don't assume multipath.socket is enabled
      libmultipath: print all values in snprint_failback
      multipathd: Stop double counting map failures for no_path_retry > 0
      multipath-tools man pages: add missing multipathd commands
      libmultipath: change the vend/prod/rev printing
      multipath-tools man pages: Add format wildcard descriptions
      multipathd: fix flush check in flush_map()
      libmultipath: check for not PATH_UP in detect_alua
      multipath-tools: Makefile.inc: compile with -fexceptions
      multipathd: free alias if cli_add_map() is cancelled
      libmpathpersist: set mpp->mpe before selecting reservation_key
      libmultipath: rename dm_map_present_by_wwid() and add outputs
      multipathd: make cli_add_map() handle adding maps by WWID correctly
      multipathd: remove checker restart optimization
      multipathd: refactor path state getting code into a helper
      multipathd: handle uninitialized paths in new function
      multipathd: check paths immediately after failing udev initialization
      multipathd: set pp->tick = max_checkint in handle_uninitialized_path
      multipathd: return 0 from check_path() if that path wasn't checked
      multipathd: reorder path state checks
      multipathd: adjust when mpp is synced with the kernel
      multipathd: resync map after setup_map in ev_remove_path
      multipathd: resync map after setup_map in resize_map
      multipathd: always resync map in reload_and_sync_map
      multipathd: correctly handle paths removed for a wwid change
      multipathd: handle changed wwid when adding partial path
      multipathd: don't read conf->checkint twice in check_path
      multipathd: make multipath devices manage their path check times
      multipathd: factor out actual path checking loop from checkerloop
      multipathd: check paths in order by mpp
      multipathd: clean up the correct wwid in check_path_wwid_change
      multipathd: show pending reconfigs in 'show daemon' output
      libmultipath: fix ontap prioritizer snprintf limits

@Cav4ever (2):

      multipath.conf.5: fix the description of prio_args for path_latency prio
      multipath: display the correct configuration when dumping config

@mwilck (109):

      GitHub workflows: multiarch: add openSUSE Tumbleweed
      multipath-tools CI: more fixes for arm/v7
      multipath-tools CI: fix dmevents test for Debian Sid, arm/v7
      create-config.mk: use printf instead of /bin/echo
      multipathd.service.in: use `@BINDIR@` instead of /sbin
      Makefile.inc: replace `@BINDIR@` with `$(TGTDIR)/$(bindir)`
      kpartx.rules: use `@BINDIR@` to locate kpartx
      multipath-tools: Remove hard-coded paths to executables
      multipath-tools: compile_commands.json fixes
      multipath-tools: .gitignore: ignore o.wrap files for CI helpers
      libmultipath: remove unused includes in devmapper.h
      libmultipath: use DM_DEVICE_INFO in dm_mapname()
      multipath-tools: don't call dm_task_no_open_count()
      libmpathutil: export cleanup_udev_device()
      libmpathutil: add cleanup_vector()
      libmultipath: add cleanup helpers for struct multipath
      libmultipath: add cleanup_dm_task(), and use it in devmapper.c
      libmultipath: rename dm_type()->dm_type_match() and use symbolic values
      libmultipath: Use symbolic return values for dm_is_mpath()
      libmultipath: add libmp_mapinfo()
      libmultipath tests: add tests for libmp_mapinfo()
      libmultipath: implement dm_get_info() and dm_map_present() with new API
      libmultipath: remove dm_get_prefixed_uuid()
      libmultipath: is_mpath_part(): improve parsing
      libmultipath: rename dm_get_uuid() -> dm_get_wwid()
      libmultipath: improve dm_get_wwid() return value logic
      libmultipath: reimplement dm_map_name() with new API
      libmultipath: reimplement dm_map_present_by_uuid()
      libmultipath: reimplement dm_get_opencount() with new API
      libmpathpersist: skip redundant dm_map_present() call
      libmultipath: implement dm_is_mpath() with new API
      libmultipath: implement dm_get_multipath() with new API
      libmultipath: use libmp_mapinfo() in _dm_flush_map()
      libmultipath: add is_mpath_uuid() helper
      libmultipath: add is_mpath_part_uuid() helper
      libmultipath: add dmp_errstr() helper
      libmultipath: use libmp_mapinfo() in do_foreach_partmaps()
      libmultipath: use libmp_pathinfo() in update_multipath_table()
      libmultipath: update mpp->dmi in update_multipath_table()
      libmultipath: drop extra call to dm_map_present() in domap()
      libmultipath: split off update_multipath_table__()
      multipath: implement check_usable_paths() with libmp_pathinfo()
      multipathd: implement add_map_without_path() with libmp_mapinfo()
      libmultipath: simplify dm_get_maps()
      libmpathpersist: use libmp_mapinfo() in mpath_get_map()
      libmpathpersist: use mpp->alias in do_mpath_persistent_reserve_out()
      libmultipath: fix deferred_remove logic in remove_partmap()
      libmultipath: Move UUID check into libmp_pathinfo__()
      libmultipath: don't call do_foreach_partmaps() recursively
      multipath-tools tests: fix directio test with real device
      Makefile: add targets for test-progs.cpio and test-progs.tar
      multipath-tools tests: Fix .SECONDARY in Makefile for GNU make 4.4
      GitHub workflows: native.yaml: fix os name for Debian Jessie
      GitHub workflows: native.yml: run root tests
      GitHub workflows: foreign.yaml: run dmevents test as root
      GitHub workflows: spelling fixes
      fixup "libmultipath tests: add tests for libmp_mapinfo()"
      libmultipath.version: remove dm_get_wwid()
      Update README.md
      libmpathcmd: check len parameter in mpath_recv_reply_data()
      multipath-tools: use signed loop variable in vector_foreach_slot
      libmpathutil: avoid size_t underflow in strchop()
      fixup "libmultipath: use libmp_pathinfo() in update_multipath_table()"
      multipath-tools: update NEWS.md
      multipath-tools tests: make alias.test succeed with increased verbosity
      libmpathutil: avoid extra memory allocation in print_strbuf()
      libmpathutil: rename strlcat and strlcpy
      libmpathutil.version: remove strlcpy and strlcat, and LIBMULTIPATH section
      libmpathutil: fix __attribute typo in log_pthread.c
      libmultipath: devmapper.c: rename `__DR_UNUSED__`, and fix __attribute typo
      multipathd: fix __attribute typo
      multipath-tools: use common convention for "header file included" macros
      libmpathcmd: rename `__mpath_connect()` to `mpath_connect__()`
      libmpathutil: rename _MAX_CMD_LEN
      libmpathutil: rename __append_strbuf_str() and __get_strbuf_buf()
      libmpathutil: rename _log_bitfield_overflow()
      libmpathutil: rename _install_keyword() to install_keyword__()
      libmultipath: rename _NVME_LIB_C
      libmultipath: checkers.h: fix __CHECKER_FIRST_MSG in comment
      libmultipath: rename identifiers with leading underscores in devmapper.h
      libmultipath: rename identifiers with leading underscores in discovery.h
      libmultipath: rename __snprint_config()
      libmultipath: rename __unlock()
      libmultipath: rename __sysfs_attr_get_value()
      libmultipath: rename __snprint_foreign_topology()
      libmultipath: rename macros with double underscores in propsel.c
      libmultipath: rename enum values with double underscores in structs.h
      libmultipath: rename macros starting with underscore
      libmultipath: rename __internal_config variable
      libmultipath: rename `_dm_flush_map()` to `dm_flush_map__()`
      libmultipath: foreign: rename _check() to check__()
      libmultipath: rename _cleanup_foreign()
      libmultipath: rename _init_config()
      libmultipath: rename symbols starting with underscore in print.h
      libmultipath: remove dead code in pgpolicies.h
      libmultipath: remove struct and union names in cciss.h
      libmpathpersist: rename functions with double leading underscore
      libdmmp: rename macros starting with _DMMP
      libdmmp: rename enum values and variables starting with _DMMP_
      libdmmp: rename non-static functions starting with underscore
      multipathd: rename symbols with double leading underscore
      multipath-tools tests: rename functions with double underscores
      kpartx: rename macros with leading underscores
      libmpathutil: rename struct _vector to vector_s
      libmultipath: don't define __user
      libmpathcmd: reinstate ABI 1.0.0
      libmpathpersist: reinstate ABI 2.1.0
      Updated NEWS.md
      libmultipath: bump version to 0.10.0

@xosevp (5):

      multipath-tools: add older HUAWEI models
      multipath-tools: add more tags XSG1 vendors
      multipath-tools: remove duplicate headers
      multipath-tools: add more info about the tur checker to the man page
      multipath-tools: update info about path_grouping_policy in the man page

@0n-s (1):

      libmultipath, libmpathutil: explicitly annotate {get,put}_multipath_config as weak

@Spybull (1):

      libmpathutil: removed duplicate check for subsection devices
Cav4ever commented 4 weeks ago

@mwilck

Fixed output of multipath -t and multipath -T for the options force_sync and retrigger_tries. (Fixes #88)

The link for #88 should be "/multipath-tools/pull/88" not "/multipath-tools/pull/93". The same goes for the commit for NEWS.md.

mwilck commented 4 weeks ago

Ups thanks.

mwilck commented 3 weeks ago

Setting this as "ready for review" now. All relevant patches have been reviewed on the mailing list, anyway.

xosevp commented 2 weeks ago

@cvaroqui , 0.10.0 tag is missing: https://github.com/opensvc/multipath-tools/tags