提交 7c4c71ac 编写于 作者: C Chris Mason

Revert "Btrfs: adjust len of writes if following a preallocated extent"

This is exposing an existing deadlock between fsync and AIO.  Until we
have the deadlock fixed, I'm pulling this one out.

This reverts commit a23eaa87.
Signed-off-by: NChris Mason <clm@fb.com>
上级 e5d6b12f
......@@ -7765,12 +7765,10 @@ static int btrfs_get_blocks_direct(struct inode *inode, sector_t iblock,
}
/*
* this will cow the extent, if em is within [start, len], then
* probably we've found a preallocated/existing extent, let's
* give it a chance to use preallocated space.
* this will cow the extent, reset the len in case we changed
* it above
*/
len = min_t(u64, bh_result->b_size, em->len - (start - em->start));
len = ALIGN(len, fs_info->sectorsize);
len = bh_result->b_size;
free_extent_map(em);
em = btrfs_new_extent_direct(inode, start, len);
if (IS_ERR(em)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册