From 8aa1eef9d62b042b7aff04e617ffe54237491ca4 Mon Sep 17 00:00:00 2001 From: Hisashi Hifumi Date: Mon, 28 Apr 2008 02:12:08 -0700 Subject: [PATCH] --- yaml --- r: 93976 b: refs/heads/master c: 0dd1334faf7e075bfdb6f5284eed65210b296fc1 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/mm/truncate.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 74d9057f8d79..f28dba46a0ab 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ddc81ed2c5d47a078a3b02c5c3a4345bc2bc3c9b +refs/heads/master: 0dd1334faf7e075bfdb6f5284eed65210b296fc1 diff --git a/trunk/mm/truncate.c b/trunk/mm/truncate.c index 7d20ce41ecf5..b8961cb63414 100644 --- a/trunk/mm/truncate.c +++ b/trunk/mm/truncate.c @@ -391,6 +391,7 @@ int invalidate_inode_pages2_range(struct address_space *mapping, pgoff_t next; int i; int ret = 0; + int ret2 = 0; int did_range_unmap = 0; int wrapped = 0; @@ -438,9 +439,13 @@ int invalidate_inode_pages2_range(struct address_space *mapping, } } BUG_ON(page_mapped(page)); - ret = do_launder_page(mapping, page); - if (ret == 0 && !invalidate_complete_page2(mapping, page)) - ret = -EIO; + ret2 = do_launder_page(mapping, page); + if (ret2 == 0) { + if (!invalidate_complete_page2(mapping, page)) + ret2 = -EIO; + } + if (ret2 < 0) + ret = ret2; unlock_page(page); } pagevec_release(&pvec);