2017-07-02 22:38:32 +03:00
#!/usr/bin/env bash
2009-10-16 21:41:49 +04:00
# Copyright (C) 2009 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,
2016-01-21 13:49:46 +03:00
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2009-10-16 21:41:49 +04:00
2016-02-23 01:13:42 +03:00
SKIP_WITH_LVMLOCKD = 1
2015-10-27 17:10:06 +03:00
SKIP_WITH_LVMPOLLD = 1
2009-10-16 21:41:49 +04:00
2015-10-27 17:10:06 +03:00
. lib/inittest
2015-05-09 02:59:18 +03:00
2009-10-16 21:41:49 +04:00
aux prepare_vg 4
2013-06-15 13:21:03 +04:00
lvcreate -an -Zn -l 1 -n $lv1 $vg
2013-08-08 00:48:31 +04:00
lvcreate -an -Zn -l 2 --type mirror -m 1 -n $lv2 $vg
2017-05-30 17:10:22 +03:00
lvcreate -an -Zn --type zero -l 1 -n $lv3 $vg
2009-10-16 21:41:49 +04:00
vgcfgbackup -f bak0 $vg
2017-05-30 17:10:22 +03:00
sed -e 's,striped,unstriped,;s,mirror,unmirror,;s,zero,zero+NEWFLAG,' -i.orig bak0
2009-10-16 21:41:49 +04:00
vgcfgrestore -f bak0 $vg
# we have on-disk metadata with unknown segments now
2013-06-15 13:21:03 +04:00
not lvchange -aey $vg /$lv1 # check that activation is refused
2009-10-16 21:41:49 +04:00
2014-04-17 12:42:41 +04:00
# try once more to catch invalid memory access with valgrind
# when clvmd flushes cmd mem pool
2017-05-30 17:10:22 +03:00
not lvchange -aey $vg /$lv2 # check that activation is refused
not lvchange -aey $vg /$lv3 # check that activation is refused
2014-04-17 12:42:41 +04:00
2009-10-16 21:41:49 +04:00
vgcfgbackup -f bak1 $vg
cat bak1
2017-05-30 17:10:22 +03:00
sed -e 's,unstriped,striped,;s,unmirror,mirror,;s,zero+NEWFLAG,zero,' -i.orig bak1
2009-10-16 21:41:49 +04:00
vgcfgrestore -f bak1 $vg
vgcfgbackup -f bak2 $vg
2017-07-03 21:55:11 +03:00
grep -v -E 'description|seqno|creation_time|Generated' < bak0.orig > a
grep -v -E 'description|seqno|creation_time|Generated' < bak2 > b
2009-10-16 21:41:49 +04:00
diff -u a b
2014-02-27 02:25:30 +04:00
vgremove -ff $vg