From: Chris Mason Date: Mon, 18 Apr 2011 12:55:34 +0000 (-0400) Subject: Btrfs: fix free space cache leak X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f65647c29b14f5a32ff6f3237b0ef3b375ed5a79;p=openwrt%2Fstaging%2Fblogic.git Btrfs: fix free space cache leak The free space caching code was recently reworked to cache all the pages it needed instead of using find_get_page everywhere. One loop was missed though, so it ended up leaking pages. This fixes it to use our page array instead of find_get_page. Signed-off-by: Chris Mason --- diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index a3f420def0e9..11d2e9cea09e 100644 --- a/fs/btrfs/free-space-cache.c +++ b/fs/btrfs/free-space-cache.c @@ -732,7 +732,7 @@ int btrfs_write_out_cache(struct btrfs_root *root, out_of_space = true; break; } - page = find_get_page(inode->i_mapping, index); + page = pages[index]; addr = kmap(page); memcpy(addr, entry->bitmap, PAGE_CACHE_SIZE);