aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/ops_address.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-05-02 12:09:42 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-05-02 12:09:42 -0400
commitd2d7b8a2a756fb520792ca3db3abdeed9214ae5b (patch)
tree467e9e1ef0f4ba29f8cdba4731792533272c6af5 /fs/gfs2/ops_address.c
parent56409abbf8a9e3754d752d0189f9b9a609ec78de (diff)
[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 <wcheng@redhat.com> Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/ops_address.c')
-rw-r--r--fs/gfs2/ops_address.c2
1 files changed, 1 insertions, 1 deletions
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)
126 126
127 /* Is the page fully outside i_size? (truncate in progress) */ 127 /* Is the page fully outside i_size? (truncate in progress) */
128 offset = i_size & (PAGE_CACHE_SIZE-1); 128 offset = i_size & (PAGE_CACHE_SIZE-1);
129 if (page->index >= end_index+1 || !offset) { 129 if (page->index > end_index || (page->index == end_index && !offset)) {
130 page->mapping->a_ops->invalidatepage(page, 0); 130 page->mapping->a_ops->invalidatepage(page, 0);
131 unlock_page(page); 131 unlock_page(page);
132 return 0; /* don't care */ 132 return 0; /* don't care */