Yan Zheng
2007-Oct-22 01:25 UTC
[btrfs-devel][patch]Remove btrfs_path leak in btrfs_truncate_in_trans
Hello, The following two patch fix the leak in two different way. I prefer the second one, but it doesn't show where the leak is. Please choose the one you like to apply. Regards YZ --- diff -r 9bf00d0c038f inode.c --- a/inode.c Fri Oct 19 14:01:21 2007 -0400 +++ b/inode.c Mon Oct 22 12:51:56 2007 +0800 @@ -615,6 +615,7 @@ static int btrfs_truncate_in_trans(struc } else { break; } + btrfs_release_path(root, path); btrfs_set_key_type(&key, found_type); continue; } --- diff -r 9bf00d0c038f inode.c diff -r 9bf00d0c038f inode.c --- a/inode.c Fri Oct 19 14:01:21 2007 -0400 +++ b/inode.c Mon Oct 22 16:19:26 2007 +0800 @@ -567,7 +567,7 @@ static int btrfs_truncate_in_trans(struc key.type = (u8)-1; while(1) { - btrfs_init_path(path); + btrfs_release_path(root, path); fi = NULL; ret = btrfs_search_slot(trans, root, &key, path, -1, 1); if (ret < 0) { @@ -663,7 +663,6 @@ static int btrfs_truncate_in_trans(struc } else { break; } - btrfs_release_path(root, path); if (found_extent) { ret = btrfs_free_extent(trans, root, extent_start, extent_num_bytes, 0);