diff options
| author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-03-21 13:11:02 +0100 | 
|---|---|---|
| committer | Jens Axboe <jens.axboe@oracle.com> | 2007-03-27 08:55:47 +0200 | 
| commit | 40bee44eaef91b6030037c8bb47f909181fb1edc (patch) | |
| tree | 3a11cb3bdc0bd385fddd74bc3e5a871be22bfbf1 | |
| parent | 08c72591636829d40bd695d43ec6d2a8191b668b (diff) | |
| download | olio-linux-3.10-40bee44eaef91b6030037c8bb47f909181fb1edc.tar.xz olio-linux-3.10-40bee44eaef91b6030037c8bb47f909181fb1edc.zip  | |
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 ae50208e3e6..07f6556add0 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -651,9 +651,9 @@ out_ret:   * key here is the 'actor' worker passed in that actually moves the data   * to the wanted destination. See pipe_to_file/pipe_to_sendpage above.   */ -static ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, -				  struct file *out, loff_t *ppos, size_t len, -				  unsigned int flags, splice_actor *actor) +ssize_t __splice_from_pipe(struct pipe_inode_info *pipe, +			   struct file *out, loff_t *ppos, size_t len, +			   unsigned int flags, splice_actor *actor)  {  	int ret, do_wakeup, err;  	struct splice_desc sd; @@ -747,6 +747,7 @@ static ssize_t __splice_from_pipe(struct pipe_inode_info *pipe,  	return ret;  } +EXPORT_SYMBOL(__splice_from_pipe);  ssize_t splice_from_pipe(struct pipe_inode_info *pipe, struct file *out,  			 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 2e19478e9e8..8bcbc54e1b4 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 *,  				loff_t *, size_t, unsigned int,  				splice_actor *); +extern ssize_t __splice_from_pipe(struct pipe_inode_info *, struct file *, +				  loff_t *, size_t, unsigned int, +				  splice_actor *); +  #endif  |