ext4: let ext4_discard_partial_buffers handle unaligned range correctly
As comment says, we should handle unaligned range rather than aligned one. This fixes a bug found by running xfstests #91. Signed-off-by: Yongqiang Yang <xiaoqiangnk@gmail.com>
This commit is contained in:
committed by
Theodore Ts'o
parent
5129d05fda
commit
edb5ac8993
@@ -3206,8 +3206,8 @@ int ext4_discard_partial_page_buffers_no_lock(handle_t *handle,
|
|||||||
* to be updated with the contents of the block before
|
* to be updated with the contents of the block before
|
||||||
* we write the zeros on top of it.
|
* we write the zeros on top of it.
|
||||||
*/
|
*/
|
||||||
if (!(from & (blocksize - 1)) ||
|
if ((from & (blocksize - 1)) ||
|
||||||
!((from + length) & (blocksize - 1))) {
|
((from + length) & (blocksize - 1))) {
|
||||||
create_empty_buffers(page, blocksize, 0);
|
create_empty_buffers(page, blocksize, 0);
|
||||||
} else {
|
} else {
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user