| #!/bin/sh |
| |
| # Copyright (C) 2014 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
| |
| # Test various supported conversion of snapshot |
| |
| SKIP_WITH_LVMLOCKD=1 |
| SKIP_WITH_LVMPOLLD=1 |
| |
| . lib/inittest |
| |
| aux prepare_pvs 1 |
| |
| vgcreate -s 1k $vg $(cat DEVICES) |
| |
| lvcreate --type snapshot -V50 -L1 -n $lv1 -s $vg |
| |
| lvcreate -aey -L1 -n $lv2 $vg |
| lvcreate -L1 -s -n $lv3 $vg/$lv2 |
| |
| lvcreate -l1 -n $lv4 $vg |
| lvcreate -L1 -n $lv5 $vg |
| lvcreate -L1 -n $lv6 $vg |
| |
| not lvconvert -s $vg/$lv1 $vg/not_exist |
| |
| # Can't convert to snapshot of origin |
| not lvconvert -s $vg/$lv1 $vg/$lv2 |
| not lvconvert -s $vg/$lv2 $vg/$lv1 |
| not lvconvert -s $vg/$lv5 $vg/$lv1 |
| |
| not lvconvert -s $vg/$lv5 $vg/$lv2 |
| not lvconvert -s $vg/$lv5 $vg/$lv3 |
| |
| # Can't be itself |
| not lvconvert -s $vg/$lv1 $vg/$lv1 |
| not lvconvert -s $vg/$lv2 $vg/$lv2 |
| |
| # Can't convert snapshot to snapshot |
| not lvconvert -s $vg/$lv1 $vg/$lv3 |
| not lvconvert -s $vg/$lv2 $vg/$lv3 |
| |
| # Can't make a real LV snapshot of virtual 'zero' snapshot |
| not lvconvert -s $vg/$lv1 $vg/$lv4 |
| |
| # Check minimum size |
| not lvconvert -s $vg/$lv2 $vg/$lv4 2>&1 | tee err |
| grep "smaller" err |
| |
| # This should pass |
| lvconvert --yes -s $vg/$lv2 $vg/$lv5 |
| lvconvert --yes --type snapshot $vg/$lv2 $vg/$lv6 |
| |
| vgremove -f $vg |