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:
Родитель
a05a9bb18a
Коммит
560f7d7545
|
@ -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));
|
||||||
|
|
Загрузка…
Ссылка в новой задаче