2012-03-16 17:00:05 +04:00
#!/bin/sh
2011-01-31 22:52:40 +03:00
# Copyright (C) 2011 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
2014-06-06 19:40:04 +04:00
. lib/inittest
2011-01-31 22:52:40 +03:00
2013-05-31 23:11:51 +04:00
test -e LOCAL_CLVMD && skip
2012-03-16 17:00:05 +04:00
which mkfs.ext3 || skip
2011-01-31 22:52:40 +03:00
aux prepare_pvs 2 8
var_lock = " $DM_DEV_DIR / $vg1 / $lv1 "
# keep in sync with aux configured lockingdir
2012-03-16 17:00:05 +04:00
mount_dir = "var/lock/lvm"
2011-01-31 22:52:40 +03:00
cleanup_mounted_and_teardown( )
{
2012-03-16 17:00:05 +04:00
umount " $mount_dir " || true
2011-01-31 22:52:40 +03:00
aux teardown
}
2013-05-31 23:11:51 +04:00
vgcreate $vg1 " $dev1 "
vgcreate $vg2 " $dev2 "
2011-01-31 22:52:40 +03:00
lvcreate -l 1 -n $lv2 $vg2
vgchange -an $vg2
lvcreate -n $lv1 -l 100%FREE $vg1
2012-03-16 17:00:05 +04:00
mkfs.ext3 -b4096 -j " $var_lock "
2011-01-31 22:52:40 +03:00
trap 'cleanup_mounted_and_teardown' EXIT
2012-03-16 17:00:05 +04:00
mount -n -r " $var_lock " " $mount_dir "
2011-01-31 22:52:40 +03:00
# locking must fail on read-only filesystem
not vgchange -ay $vg2
# no-locking with --sysinit
vgchange --sysinit -ay $vg2
test -b " $DM_DEV_DIR / $vg2 / $lv2 "
vgchange --sysinit -an $vg2
test ! -b " $DM_DEV_DIR / $vg2 / $lv2 "
vgchange --ignorelockingfailure -ay $vg2
2014-02-27 02:25:30 +04:00
# TODO maybe also support --ignorelockingfailure ??
vgremove --config 'global{locking_type=0}' -ff $vg2
umount " $mount_dir " || true
vgremove -ff $vg1