aboutsummaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2021-01-25 22:24:28 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2021-01-25 23:29:36 -0500
commitb964bf53e540262f2d12672b3cca10842c0172e7 (patch)
tree16eb741d38b54ce88cc282331579ecec09115b7a /fs/internal.h
parenttake the guts of file-to-pipe splice into a helper function (diff)
downloadlinux-dev-b964bf53e540262f2d12672b3cca10842c0172e7.tar.xz
linux-dev-b964bf53e540262f2d12672b3cca10842c0172e7.zip
teach sendfile(2) to handle send-to-pipe directly
no point going through the intermediate pipe Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
-rw-r--r--fs/internal.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/internal.h b/fs/internal.h
index 77c50befbfbe..cff1f30cfefb 100644
--- a/fs/internal.h
+++ b/fs/internal.h
@@ -15,6 +15,7 @@ struct mount;
struct shrink_control;
struct fs_context;
struct user_namespace;
+struct pipe_inode_info;
/*
* block_dev.c
@@ -193,3 +194,11 @@ int sb_init_dio_done_wq(struct super_block *sb);
*/
int do_statx(int dfd, const char __user *filename, unsigned flags,
unsigned int mask, struct statx __user *buffer);
+
+/*
+ * fs/splice.c:
+ */
+long splice_file_to_pipe(struct file *in,
+ struct pipe_inode_info *opipe,
+ loff_t *offset,
+ size_t len, unsigned int flags);