From: Ondrej Kozina Date: Mon, 30 Mar 2015 14:59:06 +0000 (+0200) Subject: tests: add pvmove --abort test X-Git-Tag: v2_02_119~210 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=5f7428e4d54254943da721f7ce11ae90aaa3f5a4;p=lvm2.git tests: add pvmove --abort test test for bug described in c282a66132063d702d1df1e342961f75a5ffcdd2 --- diff --git a/test/shell/pvmove-abort.sh b/test/shell/pvmove-abort.sh new file mode 100644 index 000000000..6798b59f2 --- /dev/null +++ b/test/shell/pvmove-abort.sh @@ -0,0 +1,59 @@ +#!/bin/sh +# Copyright (C) 2015 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 +# of the GNU General Public License v.2. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# Check pvmove --abort behaviour when specific device is requested + +. lib/inittest + +aux prepare_pvs 3 60 + +vgcreate -s 128k $vg "$dev1" "$dev2" +pvcreate --metadatacopies 0 "$dev3" +vgextend $vg "$dev3" + +for mode in "--atomic" "" ; +do +for backgroundarg in "-b" "" ; +do + +# Create multisegment LV +lvcreate -an -Zn -l30 -n $lv1 $vg "$dev1" +lvcreate -an -Zn -l30 -n $lv2 $vg "$dev2" + +# Slowdown writes +aux delay_dev "$dev3" 0 200 + +pvmove -i1 $backgroundarg "$dev1" "$dev3" $mode & +aux wait_pvmove_lv_ready "$vg-pvmove0" 300 +pvmove -i1 $backgroundarg "$dev2" "$dev3" $mode & +aux wait_pvmove_lv_ready "$vg-pvmove1" 300 + +# remove specific device +pvmove --abort "$dev1" + +# check if proper pvmove was canceled +get lv_field $vg name -a | tee out +not grep "^\[pvmove0\]" out +grep "^\[pvmove1\]" out + +# Restore delayed device back +aux enable_dev "$dev3" + +# remove any remaining pvmoves in progress +pvmove --abort + +lvremove -ff $vg + +wait +done +done + +vgremove -ff $vg