forked from luck/tmp_suning_uos_patched
Btrfs: Fix page leak in compressed writeback path
"start + num_bytes >= actual_end" can happen when compressed page writeback races with file truncation. In that case we need unlock and release pages past the end of file. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
84cd948cb1
commit
24ae63656a
@ -495,7 +495,7 @@ static noinline int compress_file_range(struct inode *inode,
|
|||||||
add_async_extent(async_cow, start, num_bytes,
|
add_async_extent(async_cow, start, num_bytes,
|
||||||
total_compressed, pages, nr_pages_ret);
|
total_compressed, pages, nr_pages_ret);
|
||||||
|
|
||||||
if (start + num_bytes < end && start + num_bytes < actual_end) {
|
if (start + num_bytes < end) {
|
||||||
start += num_bytes;
|
start += num_bytes;
|
||||||
pages = NULL;
|
pages = NULL;
|
||||||
cond_resched();
|
cond_resched();
|
||||||
|
Loading…
Reference in New Issue
Block a user