Segmentation fault in LVM2 latest version.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

_______________________________________________
linux-lvm mailing list
linux-lvm@redhat.com
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/




[Index of Archives]     [Gluster Users]     [Kernel Development]     [Linux Clusters]     [Device Mapper]     [Security]     [Bugtraq]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]

  Powered by Linux