diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-05-02 12:09:42 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-05-02 12:09:42 -0400 |
commit | d2d7b8a2a756fb520792ca3db3abdeed9214ae5b (patch) | |
tree | 467e9e1ef0f4ba29f8cdba4731792533272c6af5 | |
parent | 56409abbf8a9e3754d752d0189f9b9a609ec78de (diff) | |
download | talos-obmc-linux-d2d7b8a2a756fb520792ca3db3abdeed9214ae5b.tar.gz talos-obmc-linux-d2d7b8a2a756fb520792ca3db3abdeed9214ae5b.zip |
[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>
-rw-r--r-- | fs/gfs2/ops_address.c | 2 |
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) /* 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 */ |