diff options
author | Chris Mason <chris.mason@oracle.com> | 2011-04-18 08:55:34 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-04-18 08:55:34 -0400 |
commit | f65647c29b14f5a32ff6f3237b0ef3b375ed5a79 (patch) | |
tree | 4ec6b2a20d37f5ce4098cf77f3eb9606e3f241ba | |
parent | 6d74119f1a3efad9dc7f79a16c201242324b731f (diff) | |
download | lwn-f65647c29b14f5a32ff6f3237b0ef3b375ed5a79.tar.gz lwn-f65647c29b14f5a32ff6f3237b0ef3b375ed5a79.zip |
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>
-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 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); |