]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
truncate_inode_pages_range()'s final loop has a nice pincer property,
authorHugh Dickins <hughd@google.com>
Sat, 16 Jul 2011 13:30:42 +0000 (23:30 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Tue, 26 Jul 2011 05:04:38 +0000 (15:04 +1000)
bringing start and end together, squeezing out the last pages.  But the
range handling missed out on that, just sliding up the range, perhaps
letting pages come in behind it.  Add one more test to give it the same
pincer effect.

Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
mm/truncate.c

index dc459014f777291c2d95c6fe6e30898758b27b4f..232eb2736a79624eeccfc1387e9360e78fdb0404 100644 (file)
@@ -269,7 +269,7 @@ void truncate_inode_pages_range(struct address_space *mapping,
                        index = start;
                        continue;
                }
-               if (pvec.pages[0]->index > end) {
+               if (index == start && pvec.pages[0]->index > end) {
                        pagevec_release(&pvec);
                        break;
                }