1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-21 13:34:40 +03:00

Make vgck warn about missing PVs.

This commit is contained in:
Petr Rockai 2010-07-27 20:05:29 +00:00
parent b5097c8462
commit 82c99fb63f
4 changed files with 84 additions and 0 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.71 -
===============================
Make vgck warn about missing PVs.
Clarify help text for vg_mda_count.
Check if cluster log daemon is running before allowing cmirror create.
Check if LV with specified name already exists when splitting a mirror.

View File

@ -24,6 +24,7 @@ lvcreate -l1 -m1 -n mirror123 $vg $dev1 $dev2 $dev3
vgchange -a n $vg
disable_dev $dev1
not vgchange -a y $vg
not vgck $vg
check inactive $vg linear1
check active $vg linear2
@ -37,6 +38,7 @@ vgchange -a n $vg
enable_dev $dev1
disable_dev $dev2
not vgchange -a y $vg
not vgck $vg
check active $vg linear1
check inactive $vg linear2
@ -50,6 +52,7 @@ vgchange -a n $vg
enable_dev $dev2
disable_dev $dev3
not vgchange -a y $vg
not vgck $vg
check active $vg origin1
check active $vg s_napshot2
@ -63,6 +66,7 @@ vgchange -a n $vg
enable_dev $dev3
disable_dev $dev4
vgchange -a y $vg
not vgck $vg
check active $vg origin1
check active $vg s_napshot2

73
test/t-nomda-missing.sh Normal file
View File

@ -0,0 +1,73 @@
#!/bin/bash
. ./test-utils.sh
prepare_devs 4
pvcreate $dev1 $dev2
pvcreate --metadatacopies 0 $dev3 $dev4
vgcreate $vg $dev1 $dev2 $dev3 $dev4
lvcreate -l1 -n linear1 $vg $dev1
lvcreate -l1 -n linear2 $vg $dev2
lvcreate -l2 -n linear12 $vg $dev1:4 $dev2:4
lvcreate -l1 -n origin1 $vg $dev1
lvcreate -s $vg/origin1 -l1 -n s_napshot2 $dev2
lvcreate -l1 -m1 -n mirror12 --mirrorlog core $vg $dev1 $dev2
lvcreate -l1 -m1 -n mirror123 $vg $dev1 $dev2 $dev3
vgchange -a n $vg
disable_dev $dev1
not vgchange -a y $vg
not vgck $vg
check inactive $vg linear1
check active $vg linear2
check inactive $vg origin1
check inactive $vg s_napshot2
check inactive $vg linear12
check inactive $vg mirror12
check inactive $vg mirror123
vgchange -a n $vg
enable_dev $dev1
disable_dev $dev2
not vgchange -a y $vg
not vgck $vg
check active $vg linear1
check inactive $vg linear2
check inactive $vg linear12
check inactive $vg origin1
check inactive $vg s_napshot2
check inactive $vg mirror12
check inactive $vg mirror123
vgchange -a n $vg
enable_dev $dev2
disable_dev $dev3
not vgchange -a y $vg
not vgck $vg
check active $vg origin1
check active $vg s_napshot2
check active $vg linear1
check active $vg linear2
check active $vg linear12
check inactive $vg mirror123
check active $vg mirror12
vgchange -a n $vg
enable_dev $dev3
disable_dev $dev4
vgchange -a y $vg
not vgck $vg
check active $vg origin1
check active $vg s_napshot2
check active $vg linear1
check active $vg linear2
check active $vg linear12
check active $vg mirror12
check active $vg mirror123

View File

@ -31,6 +31,12 @@ static int vgck_single(struct cmd_context *cmd __attribute__((unused)),
return ECMD_FAILED;
}
if (vg_missing_pv_count(vg)) {
log_error("The volume group is missing %d physical volumes.",
vg_missing_pv_count(vg));
return ECMD_FAILED;
}
return ECMD_PROCESSED;
}