]> sourceware.org Git - lvm2.git/commitdiff
tests: make test complaint to local dev dir
authorZdenek Kabelac <zkabelac@redhat.com>
Wed, 24 Feb 2021 10:54:24 +0000 (11:54 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Tue, 2 Mar 2021 21:24:51 +0000 (22:24 +0100)
For test running in 'local' dev dir we want to see loop devices there.
Also add missing notification to lvmetad after wipefs.

test/shell/allow-mixed-block-sizes.sh

index b51232a84950cca622491a68d9880c962fc3af38..efab1302a698006602646ede8a5de6729381eec0 100644 (file)
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-# Copyright (C) 2019 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2019-2021 Red Hat, Inc. All rights reserved.
 #
 # This copyrighted material is made available to anyone wishing to use,
 # modify, copy, or redistribute it subject to the terms and conditions
@@ -15,32 +15,44 @@ SKIP_WITH_LVMPOLLD=1
 . lib/inittest
 
 losetup -h | grep sector-size || skip
+which fallocate || skip
+which wipefs || skip
 
-dd if=/dev/zero of=loopa bs=$((1024*1024)) count=2 2> /dev/null
-dd if=/dev/zero of=loopb bs=$((1024*1024)) count=2 2> /dev/null
+fallocate -l 2M loopa
+fallocate -l 2M loopb
 LOOP1=$(losetup -f loopa --sector-size 4096 --show)
 LOOP2=$(losetup -f loopb --show)
 
-echo $LOOP1
-echo $LOOP2
-
-aux extend_filter "a|$LOOP1|"
-aux extend_filter "a|$LOOP2|"
-
-not vgcreate --config 'devices {allow_mixed_block_sizes=0 scan="/dev"}' $vg $LOOP1 $LOOP2
-vgcreate --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP1 $LOOP2
-vgs --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg
-
-aux wipefs_a $LOOP1
-aux wipefs_a $LOOP2
-
-vgcreate --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP1
-vgs --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg
-not vgextend --config 'devices {allow_mixed_block_sizes=0 scan="/dev"}' $vg $LOOP2
-vgextend --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP2
-
-losetup -d $LOOP1
-losetup -d $LOOP2
+# prepare devX mapping so it works for real & fake dev dir
+d=1
+for i in "$LOOP1" "$LOOP2"; do
+       echo "$i"
+       m=${i##*loop}
+       test -e "$DM_DEV_DIR/loop$m" || mknod "$DM_DEV_DIR/loop$m" b 7 "$m"
+       eval "dev$d=\"$DM_DEV_DIR/loop$m\""
+       d=$(( d + 1 ))
+done
+
+aux extend_filter "a|$dev1|" "a|$dev2|"
+
+not vgcreate --config 'devices/allow_mixed_block_sizes=0' $vg "$dev1" "$dev2"
+vgcreate --config 'devices/allow_mixed_block_sizes=1' $vg "$dev1" "$dev2"
+vgs --config 'devices/allow_mixed_block_sizes=1' $vg
+
+for i in "$dev1" "$dev2" ; do
+       wipefs -a "$i"
+       # FIXME - we are not missing notification for hinting
+       # likely in more places - as the test should be able to work without
+       # system's udev working only on real /dev dir.
+       # aux notify_lvmetad "$i"
+done
+
+vgcreate --config 'devices/allow_mixed_block_sizes=1' $vg "$dev1"
+vgs --config 'devices/allow_mixed_block_sizes=1' $vg
+not vgextend --config 'devices/allow_mixed_block_sizes=0' $vg "$dev2"
+vgextend --config 'devices/allow_mixed_block_sizes=1' $vg "$dev2"
+
+losetup -d "$LOOP1"
+losetup -d "$LOOP2"
 rm loopa
 rm loopb
-
This page took 0.037399 seconds and 5 git commands to generate.