From d827dd8b053d69adf3cdfa6f3b8071af4b0e3846 Mon Sep 17 00:00:00 2001 From: David Teigland Date: Fri, 21 Aug 2015 15:06:28 -0500 Subject: [PATCH] tests: add test for lvmlockd lock_args --- test/shell/lvmlockd-lv-types.sh | 164 ++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 test/shell/lvmlockd-lv-types.sh diff --git a/test/shell/lvmlockd-lv-types.sh b/test/shell/lvmlockd-lv-types.sh new file mode 100644 index 000000000..79cde2291 --- /dev/null +++ b/test/shell/lvmlockd-lv-types.sh @@ -0,0 +1,164 @@ +#!/bin/sh +# Copyright (C) 2008-2012 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 + +test_description='Check lvmlockd lock_args for different LV types' + +. lib/inittest + +test -e LOCAL_LVMLOCKD && skip + +if test -n "$LVM_TEST_LOCK_TYPE_SANLOCK" ; then +LOCKARGS1="1.0.0:70254592" +LOCKARGS2="1.0.0:71303168" +LOCKARGS3="1.0.0:72351744" +fi + +if test -n "$LVM_TEST_LOCK_TYPE_DLM" ; then +LOCKARGS1="dlm" +LOCKARGS2="dlm" +LOCKARGS3="dlm" +fi + +aux prepare_devs 5 + +vgcreate --shared $vg "$dev1" "$dev2" "$dev3" "$dev4" "$dev5" + +# +# thin pool, thin lv, thin snap +# + +lvcreate -L 8M -n pool1 $vg +check lva_field $vg/pool1 lockargs $LOCKARGS1 + +lvcreate -L 8M -n pool1_meta $vg +check lva_field $vg/pool1_meta lockargs $LOCKARGS2 + +lvconvert -y --type thin-pool --poolmetadata $vg/pool1_meta $vg/pool1 +check lva_field $vg/pool1 lockargs $LOCKARGS3 +check lva_field $vg/pool1_tdata lockargs "" +check lva_field $vg/pool1_tmeta lockargs "" + +lvcreate -n thin1 -V 1G --thinpool $vg/pool1 +check lva_field $vg/thin1 lockargs "" + +lvcreate -s -n snap1 $vg/thin1 +check lva_field $vg/snap1 lockargs "" + +lvchange -ay -K $vg/snap1 + +lvchange -an $vg/snap1 +lvchange -an $vg/thin1 +lvchange -an $vg/pool1 +lvremove $vg/snap1 +lvremove $vg/thin1 +lvremove $vg/pool1 + +# the first sanlock lock should be found and reused +lvcreate -L 8M -n lv1 $vg +check lva_field $vg/lv1 lockargs $LOCKARGS1 + +lvchange -an $vg/lv1 +lvremove $vg/lv1 + + +# +# with automatic metadata lv +# + +lvcreate -L 8M -n pool2 $vg +check lva_field $vg/pool2 lockargs $LOCKARGS1 + +lvconvert -y --type thin-pool $vg/pool2 +check lva_field $vg/pool2 lockargs $LOCKARGS2 +check lva_field $vg/pool2_tdata lockargs "" +check lva_field $vg/pool2_tmeta lockargs "" + +lvcreate -n thin2 -V 1G --thinpool $vg/pool2 +check lva_field $vg/thin2 lockargs "" + +lvchange -an $vg/thin2 +lvchange -an $vg/pool2 +lvremove $vg/thin2 +lvremove $vg/pool2 + + +# +# cache pool, cache lv +# + +lvcreate -L 8M -n cache1 $vg +check lva_field $vg/cache1 lockargs $LOCKARGS1 + +lvcreate -L 8M -n cache1_meta $vg +check lva_field $vg/cache1_meta lockargs $LOCKARGS2 + +lvconvert -y --type cache-pool --poolmetadata $vg/cache1_meta $vg/cache1 +check lva_field $vg/cache1 lockargs "" +check lva_field $vg/cache1_cdata lockargs "" +check lva_field $vg/cache1_cmeta lockargs "" + +lvcreate -n lv1 -L 8M $vg +check lva_field $vg/lv1 lockargs $LOCKARGS1 + +lvconvert -y --type cache --cachepool $vg/cache1 $vg/lv1 +check lva_field $vg/lv1 lockargs $LOCKARGS1 +check lva_field $vg/cache1 lockargs "" +check lva_field $vg/cache1_cdata lockargs "" +check lva_field $vg/cache1_cmeta lockargs "" + +lvconvert --splitcache $vg/lv1 +check lva_field $vg/lv1 lockargs $LOCKARGS1 +check lva_field $vg/cache1 lockargs "" +check lva_field $vg/cache1_cdata lockargs "" +check lva_field $vg/cache1_cmeta lockargs "" + +lvchange -an $vg/cache1 +lvchange -an $vg/lv1 +lvremove $vg/cache1 +lvremove $vg/lv1 + +# +# cow snap +# + +lvcreate -n lv2 -L 8M $vg +check lva_field $vg/lv2 lockargs $LOCKARGS1 + +lvcreate -s -n lv2snap -L 8M $vg/lv2 +check lva_field $vg/lv2 lockargs $LOCKARGS1 +check lva_field $vg/lv2snap lockargs "" + +lvchange -y -an $vg/lv2 +lvremove $vg/lv2snap +lvremove $vg/lv2 + +# +# mirror +# + +lvcreate --type mirror -m 1 -n lv3 -L 8M $vg +check lva_field $vg/lv3 lockargs $LOCKARGS1 + +lvchange -an $vg/lv3 +lvremove $vg/lv3 + +# +# raid1 +# + +lvcreate --type raid1 -m 1 -n lv4 -L 8M $vg +check lva_field $vg/lv4 lockargs $LOCKARGS1 + +lvchange -an $vg/lv4 +lvremove $vg/lv4 + +vgremove $vg +