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: Li Zefan <lizf@cn.fujitsu.com>
This commit is contained in:
Li Zefan 2011-09-08 10:22:01 +08:00 коммит произвёл David Sterba
Родитель a05a9bb18a
Коммит 560f7d7545
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -393,7 +393,10 @@ again:
(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 @@ again:
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));