Commit 560f7d75 authored by Li Zefan's avatar Li Zefan Committed by David Sterba

Btrfs: remove BUG_ON() in compress_file_range()

It's not a big deal if we fail to allocate the array, and instead of
panic we can just give up compressing.
Signed-off-by: default avatarLi Zefan <lizf@cn.fujitsu.com>
parent a05a9bb1
...@@ -393,7 +393,10 @@ static noinline int compress_file_range(struct inode *inode, ...@@ -393,7 +393,10 @@ static noinline int compress_file_range(struct inode *inode,
(BTRFS_I(inode)->flags & BTRFS_INODE_COMPRESS))) { (BTRFS_I(inode)->flags & BTRFS_INODE_COMPRESS))) {
WARN_ON(pages); WARN_ON(pages);
pages = kzalloc(sizeof(struct page *) * nr_pages, GFP_NOFS); pages = kzalloc(sizeof(struct page *) * nr_pages, GFP_NOFS);
BUG_ON(!pages); if (!pages) {
/* just bail out to the uncompressed code */
goto cont;
}
if (BTRFS_I(inode)->force_compress) if (BTRFS_I(inode)->force_compress)
compress_type = BTRFS_I(inode)->force_compress; compress_type = BTRFS_I(inode)->force_compress;
...@@ -424,6 +427,7 @@ static noinline int compress_file_range(struct inode *inode, ...@@ -424,6 +427,7 @@ static noinline int compress_file_range(struct inode *inode,
will_compress = 1; will_compress = 1;
} }
} }
cont:
if (start == 0) { if (start == 0) {
trans = btrfs_join_transaction(root); trans = btrfs_join_transaction(root);
BUG_ON(IS_ERR(trans)); BUG_ON(IS_ERR(trans));
......
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