提交 7ec31b54 编写于 作者: L Liu Bo 提交者: Chris Mason

Btrfs: do not defrag a file partially

xfstests 218 complains that btrfs defrags a file partially:
 After: 1
 Write backwards sync, but contiguous - should defrag to 1 extent
 Before: 10
-After: 1
+After: 2

To fix this, we need to set max_to_defrag count properly.
Signed-off-by: NLiu Bo <liubo2009@cn.fujitsu.com>
Signed-off-by: NChris Mason <chris.mason@oracle.com>
上级 0b485143
...@@ -1066,7 +1066,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file, ...@@ -1066,7 +1066,7 @@ int btrfs_defrag_file(struct inode *inode, struct file *file,
i = range->start >> PAGE_CACHE_SHIFT; i = range->start >> PAGE_CACHE_SHIFT;
} }
if (!max_to_defrag) if (!max_to_defrag)
max_to_defrag = last_index; max_to_defrag = last_index + 1;
/* /*
* make writeback starts from i, so the defrag range can be * make writeback starts from i, so the defrag range can be
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册