[linux-lvm] Q: allocation of PEs to LVs
Heinz J . Mauelshagen
mauelshagen at sistina.com
Mon Feb 4 08:11:02 UTC 2002
Urs,
that is a display related bug.
Thanks for pointing this out.
Please try the following patch:
diff -u -B -r1.3.2.9 lv_show.c
--- LVM/tools/lib/lv_show.c 12 Mar 2001 16:21:21 -0000 1.3.2.9
+++ LVM/tools/lib/lv_show.c 4 Feb 2002 14:07:34 -0000
@@ -327,16 +327,18 @@
" LE PV PE reads writes\n");
dev = 0;
for ( pe = 0; pe < lv->lv_allocated_le; pe++) {
+ int pv_index;
+
if ( lv->lv_current_pe[pe].dev != dev) {
pv_name = pv_create_name_from_kdev_t ( lv->lv_current_pe[pe].dev);
dev = lv->lv_current_pe[pe].dev;
}
+ pv_index = pv_get_index_by_kdev_t ( vg, lv->lv_current_pe[pe].dev);
printf ( " %05d %-25s %05u %-9u %-9u\n",
pe,
pv_name,
( lv->lv_current_pe[pe].pe -
- vg->pv[pv_get_index_by_kdev_t
- ( vg, lv->lv_current_pe[pe].dev)]->pe_on_disk.base /
+ LVM_VGDA_SIZE(vg->pv[pv_index]) /
SECTOR_SIZE) /
( lv->lv_size / lv->lv_allocated_le),
lv->lv_current_pe[pe].reads,
Regards,
Heinz -- The LVM Guy --
On Mon, Feb 04, 2002 at 02:13:27PM +0100, Urs Thuermann wrote:
> How are PEs allocated when LVs are created using lvcreate? I created
> a LV unsing lvcreate from LVM-1.0.1 on an empty VG and was surprised
> that PEs are allocated starting with PE 1 and not PE 0 as I expected:
>
> isnogud:root# pvcreate /dev/sdd1
> pvcreate -- physical volume "/dev/sdd1" successfully created
>
> isnogud:root# vgcreate vg1 /dev/sdd1
> vgcreate -- INFO: using default physical extent size 4.00 MB
> vgcreate -- INFO: maximum logical volume size is 255.99 Gigabyte
> vgcreate -- doing automatic backup of volume group "vg1"
> vgcreate -- volume group "vg1" successfully created and activated
>
> isnogud:root# lvcreate -n test vg1 -L32M
> lvcreate -- doing automatic backup of "vg1"
> lvcreate -- logical volume "/dev/vg1/test" successfully created
>
> isnogud:root# lvdisplay -v /dev/vg1/test
> --- Logical volume ---
> LV Name /dev/vg1/test
> VG Name vg1
> LV Write Access read/write
> LV Status available
> LV # 1
> # open 0
> LV Size 32.00 MB
> Current LE 8
> Allocated LE 8
> Allocation next free
> Read ahead sectors 10000
> Block device 58:11
>
> --- Distribution of logical volume on 1 physical volume ---
> PV Name PE on PV reads writes
> /dev/sdd1 8 0 4
>
> --- logical volume i/o statistic ---
> 0 reads 4 writes
>
> --- Logical extents ---
> LE PV PE reads writes
> 00000 /dev/sdd1 00001 0 4
> 00001 /dev/sdd1 00002 0 0
> 00002 /dev/sdd1 00003 0 0
> 00003 /dev/sdd1 00004 0 0
> 00004 /dev/sdd1 00005 0 0
> 00005 /dev/sdd1 00006 0 0
> 00006 /dev/sdd1 00007 0 0
> 00007 /dev/sdd1 00008 0 0
>
>
> isnogud:root#
>
>
> The first LV in my other VG starts at PE 0 as expected. I created
> that VG and LVs using vgcreate and lvcreate from LVM-0.9.1_beta7:
>
> isnogud:root# lvdisplay -v /dev/vg0/root
> --- Logical volume ---
> LV Name /dev/vg0/root
> VG Name vg0
> LV Write Access read/write
> LV Status available
> LV # 1
> # open 1
> LV Size 128.00 MB
> Current LE 32
> Allocated LE 32
> Stripes 2
> Stripe size (KByte) 4
> Allocation next free
> Read ahead sectors 120
> Block device 58:0
>
> --- Distribution of logical volume on 2 physical volumes ---
> PV Name PE on PV reads writes
> /dev/sda2 16 41814 100298
> /dev/sdb2 16 42184 161941
>
> --- logical volume i/o statistic ---
> 83998 reads 262239 writes
>
> --- Logical extents ---
> LE PV PE reads writes
> 00000 /dev/sda2 00000 2814 663
> 00001 /dev/sda2 00001 978 24114
> ...
> 00014 /dev/sda2 00014 1955 223
> 00015 /dev/sda2 00015 4050 277
> 00016 /dev/sdb2 00000 2835 634
> 00017 /dev/sdb2 00001 946 72276
> ...
> 00030 /dev/sdb2 00014 1984 205
> 00031 /dev/sdb2 00015 4083 311
>
>
> isnogud:root#
>
>
> Can someone explain this, please? Is it intentional?
>
>
> Also, the "Read ahead sectors" seem to have changed from 120 to 10000,
> which seems quite a lot to me. 10000 sectors is roughly 5 MB. Does
> every read really cause the next 5 MB to be read from the disk(s)?
>
>
> urs
>
> _______________________________________________
> linux-lvm mailing list
> linux-lvm at sistina.com
> http://lists.sistina.com/mailman/listinfo/linux-lvm
> read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html
*** Software bugs are stupid.
Nevertheless it needs not so stupid people to solve them ***
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Heinz Mauelshagen Sistina Software Inc.
Senior Consultant/Developer Am Sonnenhang 11
56242 Marienrachdorf
Germany
Mauelshagen at Sistina.com +49 2626 141200
FAX 924446
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
More information about the linux-lvm
mailing list