[GFS2] Fix bug in writepage()
authorSteven Whitehouse <swhiteho@redhat.com>
Tue, 2 May 2006 16:09:42 +0000 (12:09 -0400)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 2 May 2006 16:09:42 +0000 (12:09 -0400)
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>
fs/gfs2/ops_address.c

index 005c252..afcc12a 100644 (file)
@@ -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 */