When udevadm trigger is run after switching root, lots of simultaneous uevents for both path and multipath devices arrive. In may happen that when "multipath -U" is called on a dm device, the path's uevents haven't finished yet, thus the paths aren't found in the udev db, and multipath -U erroneously concludes that there are no usable paths. Avoid that by skipping "multipath -U" during coldplug. Fixes: "ce5ea6a 11-dm-mpath.rules: multipath -U for READY check" Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> --- multipath/11-dm-mpath.rules | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multipath/11-dm-mpath.rules b/multipath/11-dm-mpath.rules index 03ac5da..07320a1 100644 --- a/multipath/11-dm-mpath.rules +++ b/multipath/11-dm-mpath.rules @@ -26,6 +26,10 @@ ENV{DM_NR_VALID_PATHS}=="0", ENV{MPATH_DEVICE_READY}="0", GOTO="mpath_action" ENV{MPATH_SBIN_PATH}="/sbin" TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin" +# Don't run multipath -U during "coldplug" after switching root, +# because paths are just being added to the udev db. +ACTION=="add", ENV{.MPATH_DEVICE_READY_OLD}=="1", GOTO="paths_ok" + # Check the map state directly with multipath -U. # This doesn't attempt I/O on the device. PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -U %k", GOTO="paths_ok" -- 2.16.1 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel