[linux-lvm] Resizing snapshots leaks vmalloc memory

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

 



When repeatedly resizing snapshots (both reducing and enlarging), I
eventually would get VMALLOC failures.  Looking at the code, it looks like
when snapshots are resized the old exception table and hash table are never
freed.  A patch to address the problem follows.

Dale Stephenson
steph@snapserver.com

--- linux/drivers/md/lvm.c.orig	Thu Mar 14 08:21:16 2002
+++ linux/drivers/md/lvm.c	Thu Mar 14 08:23:07 2002
@@ -2489,6 +2489,8 @@
 		memcpy(new_lv->lv_block_exception,
 		       old_lv->lv_block_exception, size);
 
+		vfree(old_lv->lv_block_exception);
+		vfree(old_lv->lv_snapshot_hash_table);
 		old_lv->lv_remap_end = new_lv->lv_remap_end;
 		old_lv->lv_block_exception = new_lv->lv_block_exception;
 		old_lv->lv_snapshot_hash_table =

_______________________________________________
linux-lvm mailing list
linux-lvm@sistina.com
http://lists.sistina.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://www.sistina.com/lvm/Pages/howto.html

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

  Powered by Linux