Currently we're passing -1 to shmem_truncate_range which can then call 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@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> --- mm/shmem.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index 4ce02e0..3199733 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -2961,7 +2961,8 @@ void shmem_unlock_mapping(struct address_space *mapping) void shmem_truncate_range(struct inode *inode, loff_t lstart, loff_t lend) { - truncate_inode_pages_range(inode->i_mapping, lstart, lend); + truncate_inode_pages_range(inode->i_mapping, lstart, + lend == -1 ? LLONG_MAX : last); } EXPORT_SYMBOL_GPL(shmem_truncate_range); -- 1.7.7.6 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html