X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=mm%2Ftruncate.c;h=b8961cb6341401e27f9debffc5832154525fadcb;hb=cde53535991fbb5c34a1566f25955297c1487b8d;hp=7d20ce41ecf52c2cd4027207558734f835124992;hpb=afbf331ed1252c85753ac6790356c11e171f3d0b;p=linux-2.6-omap-h63xx.git diff --git a/mm/truncate.c b/mm/truncate.c index 7d20ce41ecf..b8961cb6341 100644 --- a/mm/truncate.c +++ b/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);