Commit 4b72029d authored by Li Zefan's avatar Li Zefan

btrfs: Fix error handling in zlib

Return failure if alloc_page() fails to allocate memory,
and the upper code will just give up compression.
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
parent 8844355d
...@@ -225,6 +225,10 @@ int btrfs_zlib_compress_pages(struct address_space *mapping, ...@@ -225,6 +225,10 @@ int btrfs_zlib_compress_pages(struct address_space *mapping,
data_in = kmap(in_page); data_in = kmap(in_page);
out_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM); out_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM);
if (out_page == NULL) {
ret = -1;
goto out;
}
cpage_out = kmap(out_page); cpage_out = kmap(out_page);
pages[0] = out_page; pages[0] = out_page;
nr_pages = 1; nr_pages = 1;
...@@ -263,6 +267,10 @@ int btrfs_zlib_compress_pages(struct address_space *mapping, ...@@ -263,6 +267,10 @@ int btrfs_zlib_compress_pages(struct address_space *mapping,
goto out; goto out;
} }
out_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM); out_page = alloc_page(GFP_NOFS | __GFP_HIGHMEM);
if (out_page == NULL) {
ret = -1;
goto out;
}
cpage_out = kmap(out_page); cpage_out = kmap(out_page);
pages[nr_pages] = out_page; pages[nr_pages] = out_page;
nr_pages++; nr_pages++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment