[dm-devel] [PATCH 00/57] SLES resync

Benjamin Marzinski bmarzins at redhat.com
Wed May 4 03:06:09 UTC 2016


On Wed, Apr 27, 2016 at 01:10:01PM +0200, Hannes Reinecke wrote:
> Hi all,
> 
> as promised several times, here's now a patchset with all the patches
> queued up in my SLES repository.

ACK on all the patches I haven't commented on.

-Ben

> 
> The first bits are pretty much uncontroversial (I hope), mainly fixes
> etc. Next there are some systemd updates, setting dependencies and such.
> 
> The _really_ important patch is
> 
> multipathd: skip uninitialized devices during reconfiguration
> 
> which basically is the cause for all the missing wwid issues we've seen.
> So I wonder if we shouldn't just do away with all the tweaks we've
> accumlated so far and see if that patch isn't sufficient.
> According to Kay Sievers it should...
> 
> Next is a general overhaul of the 'cookie' mechanism; Ben, Mike,
> mind to have a look here? It _seems_ reasonable enough, but it would
> be nice to have additional confirmation for that.
> 
> Finally there are patches which probably require some more discussion:
> - Asynchronous configuration: Do not call 'reconfigure' directly, but
>   rather set the daemon_status to 'configuration' and defer the actual
>   work to the main thread. This allows us to decouple it from the CLI
>   call, and we won't run into any udev/systemd timeout issues when
>   booting on large installations
> - Lock pushdown: I remember to have sent this patch already at one
>   point, but it got rejected. So I try again :-)
>   With this patch the big vector lock is pushed down to the areas
>   where we actually need it, making the entire system running far
>   smoother during booting or failover in large instances.
>   We have been using this patch since SLE12 GA, ie for over two
>   years now. And seem to have ironed out all issues with it.
> 
> The entire patchset can be found at:
> 
> github.com:/hreinecke/multipath-tools.git
> branch sles-resync
> 
> As usual, comments and reviews are welcome.
> Patches are based upon the latest git, including Bens patchset.
> 
> Hannes Reinecke (57):
>   kpartx: Fixup persistent name generation
>   kpartx: handle more than 256 loop devices
>   kpartx: parse emulated DASD devices
>   kpartx: Install rules file with correct prefix
>   Add HP MSA 2040 to the hardware table
>   Use ALUA for HP 3PAR
>   Add LIO-ORG/SUSE RBD backend hardware defaults
>   Allow for empty SCSI revision
>   libmultipath: Do not use 'sscanf' for parsing integers
>   libmultipath: finally fix dev_loss_tmo setting
>   multipathd: fixup queueing mode in 'show maps status'
>   multipathd: fixup a crash when invoking CLI commands
>   multipathd: print error message for invalid arguments
>   libmultipath: correctly initialize pp->sg_id
>   libmultipath: correctly display checker status
>   libmultipath: call get_uid() for all paths
>   libmultipath: additional logging messages when formatting callout
>   libmpathpersist: Fixup whitespaces in Makefile
>   multipathd: Do not print misleading message 'not found in pathvec'
>   multipathd: Do not update the paths vec when removing paths
>   libmultipath: avoid double semicolon in lock.h
>   multipath: use option '-i' when called from udev
>   multipath: remove warning 'failed to get wwid'
>   Add dependency on systemd-udevd.service
>   Load all device handler modules on startup
>   11-dm-mpath.rules: Only import ID_FS_XXX variables if not set
>   Ensure multipathd is started before systemd-udev-trigger.service
>   libmultipath: use a shared lock to co-operate with udev
>   Only filter for udev property if uid_attribute is present
>   multipathd: skip uninitialized devices during reconfiguration
>   multipathd: improve uxlsnr
>   libmultipath: remove 'needsync' argument from dm_simplecmd_noflush
>   libmultipath: remove 'use_uuid' argument from dm_addmap()
>   Always set DM_UDEV_DISABLE_LIBRARY_FALLBACK
>   libmultipath: pass in cookie as argument for dm_simplecmd()
>   libmultipath: pass in 'cookie' as argument for dm_addmap()
>   Remove 'udev_sync' argument from dm_simplecmd()
>   libmultipath: Fixup 'DM_DEVICE_RELOAD' handling
>   devmapper: do not flush I/O for DM_DEVICE_CREATE
>   libmultipath: fixup dm_rename to complete cookie on failure
>   multipathd: accept zero-size paths in ev_add_path()
>   Use multipath wwid if path wwid is empty
>   multipathd: set uxsock_timeout after reconfiguration
>   multipathd: Do not switch paths on empty multipath tables
>   libmultipath: remove 'get_info' argument for adopt_paths()
>   libmultipath: ensure 'dev_t' is set when store paths
>   libmultipath: sanity check on store_path()
>   dmparser: Use find_path_by_dev()
>   multipathd: do not flush maps on startup
>   multipathd: strict loop timings
>   multipathd: Provide standard error description on cli failure
>   libmultipath: make 'dm_addmap' static
>   multipathd: implement 'show map $map format $fmt'
>   multipathd: Increase uxclnt timeout
>   multipathd: asynchronous configuration
>   multipathd: push down lock in checkerloop()
>   Allow specific CLI commands to run unlocked
> 
>  kpartx/Makefile               |   6 +-
>  kpartx/dasd.c                 |  39 +++-
>  kpartx/dasd.h                 |   1 +
>  kpartx/kpartx.rules           |  11 +-
>  kpartx/kpartx_id              |  11 +-
>  kpartx/lopart.c               | 106 +++++----
>  libmpathpersist/Makefile      |   4 +-
>  libmultipath/callout.c        |   6 +-
>  libmultipath/config.h         |   1 +
>  libmultipath/configure.c      |  33 ++-
>  libmultipath/defaults.h       |   1 +
>  libmultipath/devmapper.c      | 114 ++++++----
>  libmultipath/devmapper.h      |   4 +-
>  libmultipath/dict.c           |   4 +
>  libmultipath/discovery.c      | 115 +++++-----
>  libmultipath/dmparser.c       |  20 +-
>  libmultipath/hwtable.c        |  41 +++-
>  libmultipath/lock.h           |   4 +-
>  libmultipath/print.c          |   6 +-
>  libmultipath/structs.c        |  17 +-
>  libmultipath/structs_vec.c    |  10 +-
>  libmultipath/structs_vec.h    |   2 +-
>  libmultipath/uevent.c         |  10 +-
>  multipath/11-dm-mpath.rules   |  10 +-
>  multipath/main.c              |   1 -
>  multipath/multipath.conf.5    |  16 +-
>  multipath/multipath.rules     |   2 +-
>  multipathd/cli.c              | 101 +++++++--
>  multipathd/cli.h              |   4 +-
>  multipathd/cli_handlers.c     |  85 +++++++-
>  multipathd/cli_handlers.h     |   2 +
>  multipathd/main.c             | 486 +++++++++++++++++++++++++++++-------------
>  multipathd/main.h             |   3 +
>  multipathd/multipathd.service |   6 +-
>  multipathd/uxlsnr.c           |  97 +++++----
>  35 files changed, 923 insertions(+), 456 deletions(-)
> 
> -- 
> 2.6.6




More information about the dm-devel mailing list