diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-03-21 08:11:02 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-03-27 02:55:47 -0400 |
commit | 40bee44eaef91b6030037c8bb47f909181fb1edc (patch) | |
tree | 3a11cb3bdc0bd385fddd74bc3e5a871be22bfbf1 | |
parent | 08c72591636829d40bd695d43ec6d2a8191b668b (diff) |
Export __splice_from_pipe()
Ocfs2 wants to implement it's own splice write actor so that it can better
manage cluster / page locks. This lets us re-use the rest of splice write
while only providing our own code where it's actually important.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
-rw-r--r-- | fs/splice.c | 7 | ||||
-rw-r--r-- | include/linux/pipe_fs_i.h | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/fs/splice.c b/fs/splice.c index ae50208e3e6c..07f6556add0a 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -651,9 +651,9 @@ out_ret: | |||
651 | * key here is the 'actor' worker passed in that actually moves the data | 651 | * key here is the 'actor' worker passed in that actually moves the data |
652 | * to the wanted destination. See pipe_to_file/pipe_to_sendpage above. | 652 | * to the wanted destination. See pipe_to_file/pipe_to_sendpage above. |
653 | */ | 653 | */ |
654 | static ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, | 654 | ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, |
655 | struct file *out, loff_t *ppos, size_t len, | 655 | struct file *out, loff_t *ppos, size_t len, |
656 | unsigned int flags, splice_actor *actor) | 656 | unsigned int flags, splice_actor *actor) |
657 | { | 657 | { |
658 | int ret, do_wakeup, err; | 658 | int ret, do_wakeup, err; |
659 | struct splice_desc sd; | 659 | struct splice_desc sd; |
@@ -747,6 +747,7 @@ static ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, | |||
747 | 747 | ||
748 | return ret; | 748 | return ret; |
749 | } | 749 | } |
750 | EXPORT_SYMBOL(__splice_from_pipe); | ||
750 | 751 | ||
751 | ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, | 752 | ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out, |
752 | loff_t *ppos, size_t len, unsigned int flags, | 753 | loff_t *ppos, size_t len, unsigned int flags, |
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 2e19478e9e84..8bcbc54e1b48 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h | |||
@@ -99,4 +99,8 @@ extern ssize_t splice_from_pipe(struct pipe_inode_info *, struct file *, | |||
99 | loff_t *, size_t, unsigned int, | 99 | loff_t *, size_t, unsigned int, |
100 | splice_actor *); | 100 | splice_actor *); |
101 | 101 | ||
102 | extern ssize_t __splice_from_pipe(struct pipe_inode_info *, struct file *, | ||
103 | loff_t *, size_t, unsigned int, | ||
104 | splice_actor *); | ||
105 | |||
102 | #endif | 106 | #endif |