Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1306750 > unrolled thread
| Started by | Benjamin LaHaise <bcrl@kvack.org> |
|---|---|
| First post | 2016-01-11 23:10 +0100 |
| Last post | 2016-01-11 23:10 +0100 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 05/13] fs: make do_loop_readv_writev() non-static Benjamin LaHaise <bcrl@kvack.org> - 2016-01-11 23:10 +0100
| From | Benjamin LaHaise <bcrl@kvack.org> |
|---|---|
| Date | 2016-01-11 23:10 +0100 |
| Subject | [PATCH 05/13] fs: make do_loop_readv_writev() non-static |
| Message-ID | <qPSP1-7w-23@gated-at.bofh.it> |
The threaded aio helper code needs to be able to call
do_loop_readv_writev() to perform i/o to file_operations that do not have
read_iter or write_iter methods. Make the prototype for
do_loop_readv_writev() non-static and move it into fs/internal.h
Signed-off-by: Benjamin LaHaise <ben.lahaise@solacesystems.com>
Signed-off-by: Benjamin LaHaise <bcrl@kvack.org>
---
fs/internal.h | 6 ++++++
fs/read_write.c | 5 +----
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/fs/internal.h b/fs/internal.h
index 71859c4d..57b6010 100644
--- a/fs/internal.h
+++ b/fs/internal.h
@@ -16,6 +16,9 @@ struct path;
struct mount;
struct shrink_control;
+typedef ssize_t (*io_fn_t)(struct file *, char __user *, size_t, loff_t *);
+typedef ssize_t (*iter_fn_t)(struct kiocb *, struct iov_iter *);
+
/*
* block_dev.c
*/
@@ -135,6 +138,9 @@ extern long prune_dcache_sb(struct super_block *sb, struct shrink_control *sc);
* read_write.c
*/
extern int rw_verify_area(int, struct file *, const loff_t *, size_t);
+extern ssize_t do_loop_readv_writev(struct file *filp, struct iov_iter *iter,
+ loff_t *ppos, io_fn_t fn);
+
/*
* pipe.c
diff --git a/fs/read_write.c b/fs/read_write.c
index 819ef3f..36344ff 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -21,9 +21,6 @@
#include <asm/uaccess.h>
#include <asm/unistd.h>
-typedef ssize_t (*io_fn_t)(struct file *, char __user *, size_t, loff_t *);
-typedef ssize_t (*iter_fn_t)(struct kiocb *, struct iov_iter *);
-
const struct file_operations generic_ro_fops = {
.llseek = generic_file_llseek,
.read_iter = generic_file_read_iter,
@@ -668,7 +665,7 @@ static ssize_t do_iter_readv_writev(struct file *filp, struct iov_iter *iter,
}
/* Do it by hand, with file-ops */
-static ssize_t do_loop_readv_writev(struct file *filp, struct iov_iter *iter,
+ssize_t do_loop_readv_writev(struct file *filp, struct iov_iter *iter,
loff_t *ppos, io_fn_t fn)
{
ssize_t ret = 0;
--
2.5.0
--
"Thought is the essence of where you are now."
Back to top | Article view | linux.kernel
csiph-web