[linux-lvm] Snapshot resizing memory leak

Dale J. Stephenson dalestephenson at mac.com
Mon Mar 3 12:28:01 UTC 2003


It looks like the current lvm code still has the memory leak when 
resizing snapshots.  The lv_block_exception and lv_snapshot_hash_table 
fields are set to ones newly allocated for the new size, but the old 
ones are not freed.  The following patch should fix it:

--- 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 =







More information about the linux-lvm mailing list