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

Christophe Varoqui christophe.varoqui at opensvc.com
Tue May 3 07:23:01 UTC 2016


Here is the patchset merged so far.

e0c1b55e171373d9efbde43502a9c87fdb53f0ef Allow specific CLI commands to run
unlocked
5ed6122c0e5d8326bc0f3beaf1f5de7303986952 multipathd: push down lock in
checkerloop()
5aca183c68f7ada6fd38c866e235abc690e24328 multipathd: asynchronous
configuration
996b564931e92b5864a3e740b6b5198d69be17da multipathd: Increase uxclnt timeout
c50c729f6c72df0c164e42bde1cc94114c6c06ea multipathd: implement 'show map
$map format $fmt'
c263e76be2f83bfb94f8aecd47a3e345c2d79fc6 libmultipath: make 'dm_addmap'
static
2c9c69956431f07942c4ca71d9f1d779982d62ac multipathd: Provide standard error
description on cli failure
5007e197c55d8a287ac5ec84c1f13aef7a7a08db multipathd: strict loop timings
c0db476f2b0d92b3ab4ea5007242122fdbb103dc dmparser: Use find_path_by_dev()
18f1b0341f321f9326e08b940b3c1eed4a31d779 libmultipath: sanity check on
store_path()
3ede290fd5267176860212483f9eaad48a5e5ca8 libmultipath: ensure 'dev_t' is
set when store paths
1be502f61f92b93ab8eb1c3d84e2c19423408787 libmultipath: remove 'get_info'
argument for adopt_paths()
d87f3055b465743d00d6cae3f4d53c4cc171f2ab multipathd: Do not switch paths on
empty multipath tables
c6db07310a4c63b65a758892de187837bb381572 multipathd: set uxsock_timeout
after reconfiguration
a5b3c5561fd5300046d72f7ce4b414e8acce8547 Use multipath wwid if path wwid is
empty
0c833dd35e98da8e6a58c8a50ae6a08cd0e07e20 multipathd: accept zero-size paths
in ev_add_path()
26c4bb0f89ba9bb15e6f1873799a762e6e5078a7 Always set
DM_UDEV_DISABLE_LIBRARY_FALLBACK
a632ef41d98b4369e105ab630ffa2679a98014d3 libmultipath: remove 'use_uuid'
argument from dm_addmap()
74cbb841cec6273243d3949b277adb2430a9d6aa libmultipath: remove 'needsync'
argument from dm_simplecmd_noflush
6e14b7b54de497405878ad92c60813bf14cd4fd8 multipathd: improve uxlsnr
42539b051468bd442f5f0365b178cd9530da12f3 multipathd: skip uninitialized
devices during reconfiguration
10bd53368193cc009bdf6e52f9f01fb9ced98045 Only filter for udev property if
uid_attribute is present
5ec07b3af8d1c3a6c7ba1680af20b80ddce4f962 libmultipath: use a shared lock to
co-operate with udev
cc37c9941a2e343b0bf58c8dfef28dab3634be6f Ensure multipathd is started
before systemd-udev-trigger.service
286749f8ba07e198ad314f0d6a4d1afe4ecd7332 11-dm-mpath.rules: Only import
ID_FS_XXX variables if not set
85398f6c8f91e8e4d1a2d0fad0d603aa5521ec26 Load all device handler modules on
startup
2ccc1a70f294e9d143b78864a943e419d93a7ea0 Add dependency on
systemd-udevd.service
3f05ebe105464ed520397d5dd8b5448338111f5e libmultipath: avoid double
semicolon in lock.h
505227acb951dc0ad063d2322036cd894b9556ab multipathd: Do not print
misleading message 'not found in pathvec'
4cdbd2990f42431b9c19866e62d2ddd723697487 libmpathpersist: Fixup whitespaces
in Makefile
cb7e5658c2626b9db70528255d419d8a6ba89601 libmultipath: additional logging
messages when formatting callout
79f88dd35ab1be62f7e7d33c281a477e5346c2c3 libmultipath: call get_uid() for
all paths
6903495e748d938d8c109bd3b9e4ad6ba4004049 libmultipath: correctly display
checker status
b4d9ca8dc8bbfbd3782bf4cf2cb1a440685ccd07 libmultipath: correctly initialize
pp->sg_id
d291112dd24fe4eff70dfd50ca817146fc100936 multipathd: print error message
for invalid arguments
42f490c62b066235693a1176204fa1712456fd4d multipathd: fixup a crash when
invoking CLI commands
2516c4f1dd5c85799fff3d5c7cb5de54dece88ba multipathd: fixup queueing mode in
'show maps status'
ccf6e5316a7cd090bfa2ba4c542859f55e20c8d9 libmultipath: finally fix
dev_loss_tmo setting
8af1770fcdd9ebbd6bcb29baa49f6d0de1b1b700 libmultipath: Do not use 'sscanf'
for parsing integers
b4e1b5242355908fcb1bd461efb2851a0b41dba7 Allow for empty SCSI revision
6fe55f63b5a95eb9d4da5e32115e1629784619af Add LIO-ORG/SUSE RBD backend
hardware defaults
21136f36a38ce761a76797a2434c4fbbcbc89830 Add HP MSA 2040 to the hardware
table
c416b69808e5bc80bfb4788e3d5309c6d5b4b5b5 kpartx: Install rules file with
correct prefix
adfc5ad9713ba58d44e2d50ed8725f6a72127239 kpartx: parse emulated DASD devices
0d83956858a946817cd09b818d70de010f7bdd76 kpartx: handle more than 256 loop
devices
08cc0ccd943b35c0aaedac44632dc8056f451f41 kpartx: Fixup persistent name
generation

4628ca72bf953a26bc3580daa61e06ec1fbf4fa1 multipath: remove warning 'failed
to get wwid'
is replaced with:
01b0f396797f008b63fc244aee2b7c79e9a0f41e multipath: move the warning
'failed to get wwid' to lvl4 verbosity

Thanks.
Christophe

On Wed, Apr 27, 2016 at 1:10 PM, Hannes Reinecke <hare at suse.de> wrote:

> Hi all,
>
> as promised several times, here's now a patchset with all the patches
> queued up in my SLES repository.
>
> 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20160503/cc45fd05/attachment.htm>


More information about the dm-devel mailing list