libceph: remove ceph_get_direct_page_vector()
authorChristoph Hellwig <hch@lst.de>
Wed, 1 May 2019 20:40:32 +0000 (16:40 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 8 Jul 2019 12:01:40 +0000 (14:01 +0200)
This function is entirely unused.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
include/linux/ceph/libceph.h
net/ceph/pagevec.c

index 337d5049ff93b5849b925086f33d509f29da5efa..a3cddf5f0e604fe084ff24687ea0d8e7b5cc3eca 100644 (file)
@@ -299,10 +299,6 @@ int ceph_wait_for_latest_osdmap(struct ceph_client *client,
 
 /* pagevec.c */
 extern void ceph_release_page_vector(struct page **pages, int num_pages);
-
-extern struct page **ceph_get_direct_page_vector(const void __user *data,
-                                                int num_pages,
-                                                bool write_page);
 extern void ceph_put_page_vector(struct page **pages, int num_pages,
                                 bool dirty);
 extern struct page **ceph_alloc_page_vector(int num_pages, gfp_t flags);
index 74cafc0142ea70890176803f001acf9a0565c448..64305e7056a1c738ef178d59544822af8ce49ea4 100644 (file)
 
 #include <linux/ceph/libceph.h>
 
-/*
- * build a vector of user pages
- */
-struct page **ceph_get_direct_page_vector(const void __user *data,
-                                         int num_pages, bool write_page)
-{
-       struct page **pages;
-       int got = 0;
-       int rc = 0;
-
-       pages = kmalloc_array(num_pages, sizeof(*pages), GFP_NOFS);
-       if (!pages)
-               return ERR_PTR(-ENOMEM);
-
-       while (got < num_pages) {
-               rc = get_user_pages_fast(
-                   (unsigned long)data + ((unsigned long)got * PAGE_SIZE),
-                   num_pages - got, write_page ? FOLL_WRITE : 0, pages + got);
-               if (rc < 0)
-                       break;
-               BUG_ON(rc == 0);
-               got += rc;
-       }
-       if (rc < 0)
-               goto fail;
-       return pages;
-
-fail:
-       ceph_put_page_vector(pages, got, false);
-       return ERR_PTR(rc);
-}
-EXPORT_SYMBOL(ceph_get_direct_page_vector);
-
 void ceph_put_page_vector(struct page **pages, int num_pages, bool dirty)
 {
        int i;