[linux-lvm] Inconsistent LVM code in 2.4.23-rc1
James G. Sack (jim)
jsack at inostor.com
Wed Nov 19 07:22:15 UTC 2003
[Hope this reaches the right place -- I'm not on any list -- please
reply/cc direct]
Linux kernel 2.4.23-rc1 has LVM patched code that differs from LVM 1.0.8
(as well as cvs HEAD) from sistina.com
Q: is the 2.4.23 code OK?
if yes, should it be in cvs
if no, should somebody tell Marcelo?
In essance, there are extra calls to vfree(snap_lv_ptr) at 4 places in
lvm_do_vg_create() by virtue of a "goto copy_fault" --AND-- what looks
like a correction to vg_ptr->pe_allocated
A simple diff looks like
------------------------
1587,1588c1587
< if (minor >= ABS_MAX_VG) {
< kfree(vg_ptr);
---
> if (minor >= ABS_MAX_VG)
1590d1588
< }
1658c1656,1657
< goto copy_fault;
---
> lvm_do_vg_remove(minor);
> return -EFAULT;
1669c1668,1669
< goto copy_fault;
---
> lvm_do_vg_remove(minor);
> return -EFAULT;
1679c1679,1680
< goto copy_fault;
---
> lvm_do_vg_remove(minor);
> return -EFAULT;
1682c1683,1684
< goto copy_fault;
---
> lvm_do_vg_remove(minor);
> return -EFAULT;
1697,1700d1698
< copy_fault:
< lvm_do_vg_remove(minor);
< vfree(snap_lv_ptr);
< return -EFAULT;
2597c2595
< vg_ptr->pe_allocated -= old_lv->lv_allocated_le;
---
> vg_ptr->pe_allocated -= old_lv->lv_allocated_snapshot_le;
2598a2597
> old_lv->lv_allocated_snapshot_le = new_lv->lv_allocated_le;
---------------------------------------------------------------------------
Regards,
..jim
More information about the linux-lvm
mailing list