From: Steven Whitehouse Date: Tue, 2 May 2006 16:09:42 +0000 (-0400) Subject: [GFS2] Fix bug in writepage() X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d2d7b8a2a756fb520792ca3db3abdeed9214ae5b;p=linux-beck.git [GFS2] Fix bug in writepage() As pointed out by Wendy Cheng, the logic in GFS2's writepage() function wasn't quite right with respect to invalidating pages when a file has been truncated. This patch fixes that. CC: Wendy Cheng Signed-off-by: Steven Whitehouse --- diff --git a/fs/gfs2/ops_address.c b/fs/gfs2/ops_address.c index 005c2522a879..afcc12a00a3c 100644 --- a/fs/gfs2/ops_address.c +++ b/fs/gfs2/ops_address.c @@ -126,7 +126,7 @@ static int gfs2_writepage(struct page *page, struct writeback_control *wbc) /* Is the page fully outside i_size? (truncate in progress) */ offset = i_size & (PAGE_CACHE_SIZE-1); - if (page->index >= end_index+1 || !offset) { + if (page->index > end_index || (page->index == end_index && !offset)) { page->mapping->a_ops->invalidatepage(page, 0); unlock_page(page); return 0; /* don't care */