mm: remove lru parameter from __pagevec_lru_add and remove parts of pagevec API
[cascardo/linux.git] / fs / cachefiles / rdwr.c
index 317f9ee..ebaff36 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/mount.h>
 #include <linux/slab.h>
 #include <linux/file.h>
+#include <linux/swap.h>
 #include "internal.h"
 
 /*
@@ -227,8 +228,7 @@ static void cachefiles_read_copier(struct fscache_operation *_op)
  */
 static int cachefiles_read_backing_file_one(struct cachefiles_object *object,
                                            struct fscache_retrieval *op,
-                                           struct page *netpage,
-                                           struct pagevec *pagevec)
+                                           struct page *netpage)
 {
        struct cachefiles_one_read *monitor;
        struct address_space *bmapping;
@@ -237,8 +237,6 @@ static int cachefiles_read_backing_file_one(struct cachefiles_object *object,
 
        _enter("");
 
-       pagevec_reinit(pagevec);
-
        _debug("read back %p{%lu,%d}",
               netpage, netpage->index, page_count(netpage));
 
@@ -283,9 +281,7 @@ installed_new_backing_page:
        backpage = newpage;
        newpage = NULL;
 
-       page_cache_get(backpage);
-       pagevec_add(pagevec, backpage);
-       __pagevec_lru_add_file(pagevec);
+       lru_cache_add_file(backpage);
 
 read_backing_page:
        ret = bmapping->a_ops->readpage(NULL, backpage);
@@ -452,8 +448,7 @@ int cachefiles_read_or_alloc_page(struct fscache_retrieval *op,
        if (block) {
                /* submit the apparently valid page to the backing fs to be
                 * read from disk */
-               ret = cachefiles_read_backing_file_one(object, op, page,
-                                                      &pagevec);
+               ret = cachefiles_read_backing_file_one(object, op, page);
        } else if (cachefiles_has_space(cache, 0, 1) == 0) {
                /* there's space in the cache we can use */
                fscache_mark_page_cached(op, page);
@@ -482,14 +477,11 @@ static int cachefiles_read_backing_file(struct cachefiles_object *object,
 {
        struct cachefiles_one_read *monitor = NULL;
        struct address_space *bmapping = object->backer->d_inode->i_mapping;
-       struct pagevec lru_pvec;
        struct page *newpage = NULL, *netpage, *_n, *backpage = NULL;
        int ret = 0;
 
        _enter("");
 
-       pagevec_init(&lru_pvec, 0);
-
        list_for_each_entry_safe(netpage, _n, list, lru) {
                list_del(&netpage->lru);
 
@@ -534,9 +526,7 @@ static int cachefiles_read_backing_file(struct cachefiles_object *object,
                backpage = newpage;
                newpage = NULL;
 
-               page_cache_get(backpage);
-               if (!pagevec_add(&lru_pvec, backpage))
-                       __pagevec_lru_add_file(&lru_pvec);
+               lru_cache_add_file(backpage);
 
        reread_backing_page:
                ret = bmapping->a_ops->readpage(NULL, backpage);
@@ -559,9 +549,7 @@ static int cachefiles_read_backing_file(struct cachefiles_object *object,
                        goto nomem;
                }
 
-               page_cache_get(netpage);
-               if (!pagevec_add(&lru_pvec, netpage))
-                       __pagevec_lru_add_file(&lru_pvec);
+               lru_cache_add_file(netpage);
 
                /* install a monitor */
                page_cache_get(netpage);
@@ -643,9 +631,7 @@ static int cachefiles_read_backing_file(struct cachefiles_object *object,
 
                fscache_mark_page_cached(op, netpage);
 
-               page_cache_get(netpage);
-               if (!pagevec_add(&lru_pvec, netpage))
-                       __pagevec_lru_add_file(&lru_pvec);
+               lru_cache_add_file(netpage);
 
                /* the netpage is unlocked and marked up to date here */
                fscache_end_io(op, netpage, 0);
@@ -661,8 +647,6 @@ static int cachefiles_read_backing_file(struct cachefiles_object *object,
 
 out:
        /* tidy up */
-       pagevec_lru_add_file(&lru_pvec);
-
        if (newpage)
                page_cache_release(newpage);
        if (netpage)