diff options
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/fs.h | 2 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 1 | ||||
-rw-r--r-- | include/linux/sched.h | 6 |
3 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index 7e6454454fbd..9e8e2ee353b4 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h | |||
@@ -1613,6 +1613,8 @@ extern void do_generic_mapping_read(struct address_space *mapping, | |||
1613 | loff_t *, read_descriptor_t *, read_actor_t); | 1613 | loff_t *, read_descriptor_t *, read_actor_t); |
1614 | extern ssize_t generic_file_splice_read(struct file *, struct pipe_inode_info *, size_t, unsigned int); | 1614 | extern ssize_t generic_file_splice_read(struct file *, struct pipe_inode_info *, size_t, unsigned int); |
1615 | extern ssize_t generic_file_splice_write(struct pipe_inode_info *, struct file *, size_t, unsigned int); | 1615 | extern ssize_t generic_file_splice_write(struct pipe_inode_info *, struct file *, size_t, unsigned int); |
1616 | extern long do_splice_direct(struct file *in, struct file *out, | ||
1617 | size_t len, unsigned int flags); | ||
1616 | extern void | 1618 | extern void |
1617 | file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping); | 1619 | file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping); |
1618 | extern ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, | 1620 | extern ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, |
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 9cf99cb34c15..660e9d866e5d 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -58,6 +58,7 @@ void pipe_wait(struct pipe_inode_info *pipe); | |||
58 | 58 | ||
59 | struct pipe_inode_info * alloc_pipe_info(struct inode * inode); | 59 | struct pipe_inode_info * alloc_pipe_info(struct inode * inode); |
60 | void free_pipe_info(struct inode * inode); | 60 | void free_pipe_info(struct inode * inode); |
61 | void __free_pipe_info(struct pipe_inode_info *); | ||
61 | 62 | ||
62 | /* | 63 | /* |
63 | * splice is tied to pipes as a transport (at least for now), so we'll just | 64 | * splice is tied to pipes as a transport (at least for now), so we'll just |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 541f4828f5e7..e194ec75833d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -684,6 +684,7 @@ static inline void prefetch_stack(struct task_struct *t) { } | |||
684 | 684 | ||
685 | struct audit_context; /* See audit.c */ | 685 | struct audit_context; /* See audit.c */ |
686 | struct mempolicy; | 686 | struct mempolicy; |
687 | struct pipe_inode_info; | ||
687 | 688 | ||
688 | enum sleep_type { | 689 | enum sleep_type { |
689 | SLEEP_NORMAL, | 690 | SLEEP_NORMAL, |
@@ -882,6 +883,11 @@ struct task_struct { | |||
882 | 883 | ||
883 | atomic_t fs_excl; /* holding fs exclusive resources */ | 884 | atomic_t fs_excl; /* holding fs exclusive resources */ |
884 | struct rcu_head rcu; | 885 | struct rcu_head rcu; |
886 | |||
887 | /* | ||
888 | * cache last used pipe for splice | ||
889 | */ | ||
890 | struct pipe_inode_info *splice_pipe; | ||
885 | }; | 891 | }; |
886 | 892 | ||
887 | static inline pid_t process_group(struct task_struct *tsk) | 893 | static inline pid_t process_group(struct task_struct *tsk) |