All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-lvm] Segmentation fault in LVM2 latest version.
@ 2014-03-11  8:34 xiaowei
  2014-03-12 15:58 ` Alasdair G Kergon
  0 siblings, 1 reply; 7+ messages in thread
From: xiaowei @ 2014-03-11  8:34 UTC (permalink / raw)
  To: linux-lvm, zkabelac; +Cc: Joe Jin

Hi all,

I can reproduce one segmentation fault in 
lvm2(lvm2-2.02.100-8.el6.x86_64) with below steps:

1. create PV,VG with 9 disk, 4GB each:
     pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg 
/dev/sdh /dev/sdi /dev/sdj
     vgcreate vgmlpap /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf 
/dev/sdg /dev/sdh /dev/sdi /dev/sdj
2.create a LV , say 2G initial, 6 strips.
    lvcreate -L 2G -n lvpap007 -i 6 -I 128k vgmlpap
3.extend this LV several times with 1 strip:
    lvextend -L +600M -i 1 /dev/mapper/vgmlpap-lvpap007   (repeat this 
several times)
4.segmentation fault appear when the first physical volume can't meet 
the required extends.


I tracked this a little more, and found that it's due to the strip 1 
parameter and when the first PV leaves no enough extends, it need 2 area 
to do the space allocation, but the area number was not extend , so when 
it try to access the aa array in function _alloc_parallel_area of file 
lib/metadata/lv_manip.c with a non exist index it segment fault! This lines:

                 aa[s].len = (ah->alloc_and_split_meta) ? len - 
ah->log_len : len;
                 /* Skip empty allocations */
                 if (!aa[s].len)
                         continue;

                 aa[s].pv = pva->map->pv;
                 aa[s].pe = pva->start;

I am not an expert of LVM code , could you please give a quick fix of  
this? It should be not hard:)


Please reply me with my email , I am not in the mail list.

Thanks,
Xiaowei

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-04-17  7:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-11  8:34 [linux-lvm] Segmentation fault in LVM2 latest version xiaowei
2014-03-12 15:58 ` Alasdair G Kergon
2014-03-14  1:05   ` xiaowei
2014-03-18  4:04     ` Alasdair G Kergon
2014-04-11  1:14       ` xiaowei
2014-04-15 14:43         ` Alasdair G Kergon
2014-04-17  7:47           ` xiaowei

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.