summaryrefslogtreecommitdiff
path: root/include/linux/pipe_fs_i.h
diff options
context:
space:
mode:
authorJens Axboe <jens.axboe@oracle.com>2007-06-14 13:08:55 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-07-10 08:04:12 +0200
commit6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 (patch)
treec6f2788cbafd29bdf520c0b2a232818f4d62ec9d /include/linux/pipe_fs_i.h
parentc66ab6fa705e1b2887a6d9246b798bdc526839e2 (diff)
downloadlwn-6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7.tar.gz
lwn-6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7.zip
vmsplice: add vmsplice-to-user support
A bit of a cheat, it actually just copies the data to userspace. But this makes the interface nice and symmetric and enables people to build on splice, with room for future improvement in performance. Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include/linux/pipe_fs_i.h')
-rw-r--r--include/linux/pipe_fs_i.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h
index 883ba9b78d3f..6e7bfc125425 100644
--- a/include/linux/pipe_fs_i.h
+++ b/include/linux/pipe_fs_i.h
@@ -88,7 +88,13 @@ int generic_pipe_buf_steal(struct pipe_inode_info *, struct pipe_buffer *);
struct splice_desc {
unsigned int len, total_len; /* current and remaining length */
unsigned int flags; /* splice flags */
- struct file *file; /* file to read/write */
+ /*
+ * actor() private data
+ */
+ union {
+ void __user *userptr; /* memory to write to */
+ struct file *file; /* file to read/write */
+ } u;
loff_t pos; /* file position */
};