]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
orangefs: make precopy_buffers() take iov_iter
authorAl Viro <viro@zeniv.linux.org.uk>
Thu, 8 Oct 2015 21:54:31 +0000 (17:54 -0400)
committerMike Marshall <hubcap@omnibond.com>
Fri, 13 Nov 2015 16:18:50 +0000 (11:18 -0500)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
fs/orangefs/file.c

index c169bdda66a307d9baf3b333f2790587954d346a..bd8e6f8660477d4d02e631815068b143a1000589 100644 (file)
@@ -31,13 +31,10 @@ do {                                                        \
  */
 static int precopy_buffers(struct pvfs2_bufmap *bufmap,
                           int buffer_index,
-                          const struct iovec *vec,
-                          unsigned long nr_segs,
+                          struct iov_iter *iter,
                           size_t total_size)
 {
        int ret = 0;
-       struct iov_iter iter;
-
        /*
         * copy data from application/kernel by pulling it out
         * of the iovec.
@@ -45,9 +42,8 @@ static int precopy_buffers(struct pvfs2_bufmap *bufmap,
 
 
        if (total_size) {
-               iov_iter_init(&iter, WRITE, vec, nr_segs, total_size);
                ret = pvfs_bufmap_copy_from_iovec(bufmap,
-                                               &iter,
+                                               iter,
                                                buffer_index,
                                                total_size);
                if (ret < 0)
@@ -152,10 +148,11 @@ populate_shared_memory:
         * precopy_buffers only pertains to writes.
         */
        if (type == PVFS_IO_WRITE) {
+               struct iov_iter iter;
+               iov_iter_init(&iter, WRITE, vec, nr_segs, total_size);
                ret = precopy_buffers(bufmap,
                                      buffer_index,
-                                     vec,
-                                     nr_segs,
+                                     &iter,
                                      total_size);
                if (ret < 0)
                        goto out;