diff options
author | Chris Mason <chris.mason@oracle.com> | 2011-04-18 12:55:34 (GMT) |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-04-18 12:55:34 (GMT) |
commit | f65647c29b14f5a32ff6f3237b0ef3b375ed5a79 (patch) | |
tree | 4ec6b2a20d37f5ce4098cf77f3eb9606e3f241ba /fs/btrfs/free-space-cache.c | |
parent | 6d74119f1a3efad9dc7f79a16c201242324b731f (diff) | |
download | linux-fsl-qoriq-f65647c29b14f5a32ff6f3237b0ef3b375ed5a79.tar.xz |
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 <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/free-space-cache.c')
-rw-r--r-- | fs/btrfs/free-space-cache.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/free-space-cache.c b/fs/btrfs/free-space-cache.c index a3f420d..11d2e9c 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); |