ext4: fix COLLAPSE_RANGE failure with 1KB block size
authorNamjae Jeon <namjae.jeon@samsung.com>
Sat, 19 Apr 2014 20:37:31 +0000 (16:37 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 19 Apr 2014 20:37:31 +0000 (16:37 -0400)
commita8680e0d5efd46aa54d7085e5b4a268f726922c7
tree58175d7de262cf4805dfefa70e2fa9583d7f51d4
parent86f1ca3889142d5959362c5694db3f3dc26f377a
ext4: fix COLLAPSE_RANGE failure with 1KB block size

When formatting with 1KB or 2KB(not aligned with PAGE SIZE) block
size, xfstests generic/075 and 091 are failing. The offset supplied to
function truncate_pagecache_range is block size aligned. In this
function start offset is re-aligned to PAGE_SIZE by rounding_up to the
next page boundary.  Due to this rounding up, old data remains in the
page cache when blocksize is less than page size and start offset is
not aligned with page size.  In case of collapse range, we need to
align start offset to page size boundary by doing a round down
operation instead of round up.

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Ashish Sangwan <a.sangwan@samsung.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents.c