Initial import of binutils 2.22 on the new vendor branch
[dragonfly.git] / contrib / lvm2 / dist / test / t-listings.sh
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
17 get_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
25 aux prepare_devs 5
26
27 pvcreate $dev1
28 pvcreate --metadatacopies 0 $dev2
29 pvcreate --metadatacopies 0 $dev3
30 pvcreate $dev4
31 pvcreate --metadatacopies 0 $dev5
32
33 #COMM bz195276 -- pvs doesn't show PVs until a VG is created
34 pvs --noheadings|tee out
35 test $(wc -l <out) -eq 5
36
37 #COMM pvs with segment attributes works even for orphans
38 pvs --noheadings -o  seg_all,pv_all,lv_all,vg_all | tee out
39 test $(wc -l <out) -eq 5
40
41 vgcreate -c n $vg $devs
42
43 #COMM pvs and vgs report mda_count, mda_free (bz202886, bz247444)
44 pvs -o +pv_mda_count,pv_mda_free $devs
45 for 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
48 done
49 vgs -o +vg_mda_count,vg_mda_free $vg
50 aux check_vg_field_ $vg vg_mda_count 2
51
52 #COMM pvs doesn't display --metadatacopies 0 PVs as orphans (bz409061)
53 pvdisplay $dev2|grep "VG Name.*$vg"
54 test $(pvs -o vg_name --noheadings $dev2) = $vg
55
56 #COMM lvs displays snapshots (bz171215)
57 lvcreate -l4 -n $lv1 $vg
58 lvcreate -l4 -s -n $lv2 $vg/$lv1
59 lvs $vg --noheadings|tee out
60 test $(wc -l <out) -eq 2
61 lvs -a --noheadings|tee out
62 # should lvs -a display cow && real devices? (it doesn't)
63 test $(wc -l <out) -eq 2
64 dmsetup ls|grep $PREFIX|grep -v "LVMTEST.*pv."
65 lvremove -f $vg/$lv2
66
67 #COMM lvs -a displays mirror legs and log
68 lvcreate -l4  -m2 -n$lv3 $vg
69 lvs $vg --noheadings|tee out
70 test $(wc -l <out) -eq 2
71 lvs -a --noheadings|tee out
72 test $(wc -l <out) -eq 6
73 dmsetup ls|grep $PREFIX|grep -v "LVMTEST.*pv."
74
75 #COMM vgs with options from pvs still treats arguments as VGs (bz193543)
76 vgs -o pv_name,vg_name $vg
77 # would complain if not
78
79 #COMM pvdisplay --maps feature (bz149814)
80 pvdisplay $devs >out
81 pvdisplay --maps $devs >out2
82 not diff out out2
83