From 35f12f0f5c3bbd60caba89351f45c8eef8ffd423 Mon Sep 17 00:00:00 2001 From: zhengbin Date: Tue, 5 Mar 2019 15:44:21 -0800 Subject: [PATCH] mm/filemap: pass inclusive 'end_byte' parameter to filemap_range_has_page The 'end_byte' parameter of filemap_range_has_page is required to be inclusive, so follow the rule. Link: http://lkml.kernel.org/r/1548678679-18122-1-git-send-email-zhengbin13@huawei.com Fixes: 6be96d3ad34a ("fs: return if direct I/O will trigger writeback") Signed-off-by: zhengbin Reviewed-by: Andrew Morton Reviewed-by: Matthew Wilcox Acked-by: Christoph Hellwig Cc: "Darrick J. Wong" Cc: Amir Goldstein Cc: Dave Chinner Cc: Johannes Weiner Cc: Hugh Dickins Cc: Hou Tao Cc: zhangyi (F) Cc: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- mm/filemap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/filemap.c b/mm/filemap.c index 935fbc29aeb1..e59fdecdab74 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -3071,7 +3071,7 @@ generic_file_direct_write(struct kiocb *iocb, struct iov_iter *from) if (iocb->ki_flags & IOCB_NOWAIT) { /* If there are pages to writeback, return */ if (filemap_range_has_page(inode->i_mapping, pos, - pos + write_len)) + pos + write_len - 1)) return -EAGAIN; } else { written = filemap_write_and_wait_range(mapping, pos,