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 <h...@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 > >
-- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel