Commit d0823576 authored by Hugh Dickins's avatar Hugh Dickins Committed by Linus Torvalds

mm: pincer in truncate_inode_pages_range

truncate_inode_pages_range()'s final loop has a nice pincer property,
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: default avatarHugh Dickins <hughd@google.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b85e0eff
...@@ -269,7 +269,7 @@ void truncate_inode_pages_range(struct address_space *mapping, ...@@ -269,7 +269,7 @@ void truncate_inode_pages_range(struct address_space *mapping,
index = start; index = start;
continue; continue;
} }
if (pvec.pages[0]->index > end) { if (index == start && pvec.pages[0]->index > end) {
pagevec_release(&pvec); pagevec_release(&pvec);
break; break;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment