ceph: use pagevec_lookup_range_tag()
[sfrench/cifs-2.6.git] / fs / ceph / addr.c
index 4d622654bfbcc2eb10ce81d461c53a35e5f2c44d..1af5cc899cb46f2fbfe79f268189dd9da3588ad0 100644 (file)
@@ -872,13 +872,10 @@ retry:
 get_more_pages:
                pvec_pages = min_t(unsigned, PAGEVEC_SIZE,
                                   max_pages - locked_pages);
-               if (end - index < (u64)(pvec_pages - 1))
-                       pvec_pages = (unsigned)(end - index) + 1;
-
-               pvec_pages = pagevec_lookup_tag(&pvec, mapping, &index,
-                                               PAGECACHE_TAG_DIRTY,
+               pvec_pages = pagevec_lookup_range_tag(&pvec, mapping, &index,
+                                               end, PAGECACHE_TAG_DIRTY,
                                                pvec_pages);
-               dout("pagevec_lookup_tag got %d\n", pvec_pages);
+               dout("pagevec_lookup_range_tag got %d\n", pvec_pages);
                if (!pvec_pages && !locked_pages)
                        break;
                for (i = 0; i < pvec_pages && locked_pages < max_pages; i++) {
@@ -896,16 +893,6 @@ get_more_pages:
                                unlock_page(page);
                                continue;
                        }
-                       if (page->index > end) {
-                               dout("end of range %p\n", page);
-                               /* can't be range_cyclic (1st pass) because
-                                * end == -1 in that case. */
-                               stop = true;
-                               if (ceph_wbc.head_snapc)
-                                       done = true;
-                               unlock_page(page);
-                               break;
-                       }
                        if (strip_unit_end && (page->index > strip_unit_end)) {
                                dout("end of strip unit %p\n", page);
                                unlock_page(page);