1# Copyright (C) 2008 Red Hat, Inc. All rights reserved. 2# 3# This copyrighted material is made available to anyone wishing to use, 4# modify, copy, or redistribute it subject to the terms and conditions 5# of the GNU General Public License v.2. 6# 7# You should have received a copy of the GNU General Public License 8# along with this program; if not, write to the Free Software Foundation, 9# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 10 11# 12# tests functionality of lvs, pvs, vgs, *display tools 13# 14 15. ./test-utils.sh 16 17get_lvs_() 18{ 19 case $(lvs --units s --nosuffix --noheadings -o $1_read_ahead "$vg"/"$lv") in 20 *$2) true ;; 21 *) false ;; 22 esac 23} 24 25aux prepare_devs 5 26 27pvcreate $dev1 28pvcreate --metadatacopies 0 $dev2 29pvcreate --metadatacopies 0 $dev3 30pvcreate $dev4 31pvcreate --metadatacopies 0 $dev5 32 33#COMM bz195276 -- pvs doesn't show PVs until a VG is created 34pvs --noheadings|tee out 35test $(wc -l <out) -eq 5 36 37#COMM pvs with segment attributes works even for orphans 38pvs --noheadings -o seg_all,pv_all,lv_all,vg_all | tee out 39test $(wc -l <out) -eq 5 40 41vgcreate -c n $vg $devs 42 43#COMM pvs and vgs report mda_count, mda_free (bz202886, bz247444) 44pvs -o +pv_mda_count,pv_mda_free $devs 45for I in $dev2 $dev3 $dev5; do 46 aux check_pv_field_ $I pv_mda_count 0 47 aux check_pv_field_ $I pv_mda_free 0 48done 49vgs -o +vg_mda_count,vg_mda_free $vg 50aux check_vg_field_ $vg vg_mda_count 2 51 52#COMM pvs doesn't display --metadatacopies 0 PVs as orphans (bz409061) 53pvdisplay $dev2|grep "VG Name.*$vg" 54test $(pvs -o vg_name --noheadings $dev2) = $vg 55 56#COMM lvs displays snapshots (bz171215) 57lvcreate -l4 -n $lv1 $vg 58lvcreate -l4 -s -n $lv2 $vg/$lv1 59lvs $vg --noheadings|tee out 60test $(wc -l <out) -eq 2 61lvs -a --noheadings|tee out 62# should lvs -a display cow && real devices? (it doesn't) 63test $(wc -l <out) -eq 2 64dmsetup ls|grep $PREFIX|grep -v "LVMTEST.*pv." 65lvremove -f $vg/$lv2 66 67#COMM lvs -a displays mirror legs and log 68lvcreate -l4 -m2 -n$lv3 $vg 69lvs $vg --noheadings|tee out 70test $(wc -l <out) -eq 2 71lvs -a --noheadings|tee out 72test $(wc -l <out) -eq 6 73dmsetup ls|grep $PREFIX|grep -v "LVMTEST.*pv." 74 75#COMM vgs with options from pvs still treats arguments as VGs (bz193543) 76vgs -o pv_name,vg_name $vg 77# would complain if not 78 79#COMM pvdisplay --maps feature (bz149814) 80pvdisplay $devs >out 81pvdisplay --maps $devs >out2 82not diff out out2 83 84