[dm-devel] [PATCH 00/57] SLES resync
Hannes Reinecke
hare at suse.de
Wed Apr 27 11:10:01 UTC 2016
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
More information about the dm-devel
mailing list