diff options
author | Jens Axboe <jens.axboe@oracle.com> | 2007-06-14 07:08:55 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-07-10 02:04:12 -0400 |
commit | 6a14b90bb6bc7cd83e2a444bf457a2ea645cbfe7 (patch) | |
tree | c6f2788cbafd29bdf520c0b2a232818f4d62ec9d /include | |
parent | c66ab6fa705e1b2887a6d9246b798bdc526839e2 (diff) |
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')
-rw-r--r-- | include/linux/pipe_fs_i.h | 8 |
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 *); | |||
88 | struct splice_desc { | 88 | struct splice_desc { |
89 | unsigned int len, total_len; /* current and remaining length */ | 89 | unsigned int len, total_len; /* current and remaining length */ |
90 | unsigned int flags; /* splice flags */ | 90 | unsigned int flags; /* splice flags */ |
91 | struct file *file; /* file to read/write */ | 91 | /* |
92 | * actor() private data | ||
93 | */ | ||
94 | union { | ||
95 | void __user *userptr; /* memory to write to */ | ||
96 | struct file *file; /* file to read/write */ | ||
97 | } u; | ||
92 | loff_t pos; /* file position */ | 98 | loff_t pos; /* file position */ |
93 | }; | 99 | }; |
94 | 100 | ||