@@ -34,7 +34,8 @@ xfs_tosspages(
{
/* can't toss partial tail pages, so mask them out */
last &= ~(PAGE_SIZE - 1);
- truncate_inode_pages_range(VFS_I(ip)->i_mapping, first, last - 1);
+ truncate_inode_pages_range(VFS_I(ip)->i_mapping, first,
+ last == -1 ? LLONG_MAX : last);
}
int
@@ -53,7 +54,8 @@ xfs_flushinval_pages(
ret = filemap_write_and_wait_range(mapping, first,
last == -1 ? LLONG_MAX : last);
if (!ret)
- truncate_inode_pages_range(mapping, first, last);
+ truncate_inode_pages_range(mapping, first,
+ last == -1 ? LLONG_MAX : last);
return -ret;
}
Currently we're passing -1 to truncate_inode_pages_range() which is actually really confusing since the argument is signed so we do not get "huge" number as one would expect, but rather just -1. To make things clearer and easier for truncate_inode_pages_range() just pass LLONG_MAX since it is actually what was intended anyway. It also makes thing easier for allowing truncate_inode_pages_range() to handle non page aligned regions. Moreover letting the lend argument to be negative might actually hide some bugs. Signed-off-by: Lukas Czerner <lczerner@redhat.com> Cc: Dave Chinner <dchinner@redhat.com> --- fs/xfs/xfs_fs_subr.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)