diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2007-02-28 23:13:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-01 17:53:39 -0500 |
commit | 7b965e0884cee430ffe5dc81cdb117b9316b0549 (patch) | |
tree | 754dce6432258e0a8c3a758e13a34eb3a1d22ee1 | |
parent | 5a39e8c6d655b4fe8305ef8cc2d9bbe782bfee5f (diff) |
[PATCH] VM: invalidate_inode_pages2_range() should not exit early
Fix invalidate_inode_pages2_range() so that it does not immediately exit
just because a single page in the specified range could not be removed.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | mm/truncate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/truncate.c b/mm/truncate.c index ebf3fcb4115b..0f4b6d18ab0e 100644 --- a/mm/truncate.c +++ b/mm/truncate.c | |||
@@ -375,10 +375,10 @@ int invalidate_inode_pages2_range(struct address_space *mapping, | |||
375 | 375 | ||
376 | pagevec_init(&pvec, 0); | 376 | pagevec_init(&pvec, 0); |
377 | next = start; | 377 | next = start; |
378 | while (next <= end && !ret && !wrapped && | 378 | while (next <= end && !wrapped && |
379 | pagevec_lookup(&pvec, mapping, next, | 379 | pagevec_lookup(&pvec, mapping, next, |
380 | min(end - next, (pgoff_t)PAGEVEC_SIZE - 1) + 1)) { | 380 | min(end - next, (pgoff_t)PAGEVEC_SIZE - 1) + 1)) { |
381 | for (i = 0; !ret && i < pagevec_count(&pvec); i++) { | 381 | for (i = 0; i < pagevec_count(&pvec); i++) { |
382 | struct page *page = pvec.pages[i]; | 382 | struct page *page = pvec.pages[i]; |
383 | pgoff_t page_index; | 383 | pgoff_t page_index; |
384 | 384 | ||