Merge tag 'afs-next-20171113' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowel...
[sfrench/cifs-2.6.git] / fs / afs / write.c
index 4472882f06df92d91831f60086fe32606862970a..18e46e31523ccc0295a35c058baa88d0ebf960ed 100644 (file)
@@ -220,7 +220,7 @@ static void afs_kill_pages(struct address_space *mapping,
        _enter("{%x:%u},%lx-%lx",
               vnode->fid.vid, vnode->fid.vnode, first, last);
 
-       pagevec_init(&pv, 0);
+       pagevec_init(&pv);
 
        do {
                _debug("kill %lx-%lx", first, last);
@@ -262,7 +262,7 @@ static void afs_redirty_pages(struct writeback_control *wbc,
        _enter("{%x:%u},%lx-%lx",
               vnode->fid.vid, vnode->fid.vnode, first, last);
 
-       pagevec_init(&pv, 0);
+       pagevec_init(&pv);
 
        do {
                _debug("redirty %lx-%lx", first, last);
@@ -556,20 +556,13 @@ static int afs_writepages_region(struct address_space *mapping,
        _enter(",,%lx,%lx,", index, end);
 
        do {
-               n = find_get_pages_tag(mapping, &index, PAGECACHE_TAG_DIRTY,
-                                      1, &page);
+               n = find_get_pages_range_tag(mapping, &index, end,
+                                       PAGECACHE_TAG_DIRTY, 1, &page);
                if (!n)
                        break;
 
                _debug("wback %lx", page->index);
 
-               if (page->index > end) {
-                       *_next = index;
-                       put_page(page);
-                       _leave(" = 0 [%lx]", *_next);
-                       return 0;
-               }
-
                /* at this point we hold neither mapping->tree_lock nor lock on
                 * the page itself: the page may be truncated or invalidated
                 * (changing page->mapping to NULL), or even swizzled back from
@@ -662,7 +655,7 @@ void afs_pages_written_back(struct afs_vnode *vnode, struct afs_call *call)
        _enter("{%x:%u},{%lx-%lx}",
               vnode->fid.vid, vnode->fid.vnode, first, last);
 
-       pagevec_init(&pv, 0);
+       pagevec_init(&pv);
 
        do {
                _debug("done %lx-%lx", first, last);