mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
tests: add workaround for older mdadm
Some older instancies of 'mdadm' opened legs in RW and closed and opened again and expected exlusive access. But here udev rule can be fired - so on these versions slow down whole mdadm runtime by using strace, to give system a bit more time to finish udev rule.
This commit is contained in:
parent
0558b223b8
commit
5feb99dda6
@ -27,6 +27,18 @@ _clear_online_files() {
|
|||||||
|
|
||||||
. lib/inittest
|
. lib/inittest
|
||||||
|
|
||||||
|
which mdadm || skip
|
||||||
|
|
||||||
|
STRACE=
|
||||||
|
[ "$DM_DEV_DIR" = "/dev" ] && mdadm -V 2>&1 | grep " v3.2" && {
|
||||||
|
# use this 'trick' to slow down mdadm which otherwise
|
||||||
|
# is racing with udev rule since mdadm internally
|
||||||
|
# opens and closes raid leg devices in RW mode and then
|
||||||
|
# tries to get exlusive access to the leg device during
|
||||||
|
# insertion to kernel and fails during assembly
|
||||||
|
# There could be more affted version of mdadm.
|
||||||
|
STRACE="strace -f -o /dev/null"
|
||||||
|
}
|
||||||
|
|
||||||
# This stops lvm from taking advantage of hints which
|
# This stops lvm from taking advantage of hints which
|
||||||
# will have already excluded md components.
|
# will have already excluded md components.
|
||||||
@ -109,7 +121,7 @@ test ! -f "$RUNDIR/lvm/vgs_online/$vg"
|
|||||||
# should not show an active lv
|
# should not show an active lv
|
||||||
not dmsetup info $vg-$lv1
|
not dmsetup info $vg-$lv1
|
||||||
|
|
||||||
mdadm --assemble "$mddev" "$dev1" "$dev2"
|
$STRACE mdadm --assemble "$mddev" "$dev1" "$dev2"
|
||||||
aux udev_wait
|
aux udev_wait
|
||||||
|
|
||||||
not pvs "$dev1"
|
not pvs "$dev1"
|
||||||
@ -264,7 +276,7 @@ test ! -f "$RUNDIR/lvm/vgs_online/$vg"
|
|||||||
not dmsetup info $vg-$lv1
|
not dmsetup info $vg-$lv1
|
||||||
|
|
||||||
# start the md dev
|
# start the md dev
|
||||||
mdadm --assemble "$mddev" "$dev1" "$dev2"
|
$STRACE mdadm --assemble "$mddev" "$dev1" "$dev2"
|
||||||
aux udev_wait
|
aux udev_wait
|
||||||
|
|
||||||
not pvs "$dev1"
|
not pvs "$dev1"
|
||||||
|
Loading…
Reference in New Issue
Block a user