diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2009-04-14 13:48:39 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2009-04-15 06:10:12 -0400 |
commit | 328eaaba4e41a04c1dc4679d65bea3fee4349d86 (patch) | |
tree | 171bf86b590a841729bab11feec874869bcab49e /include | |
parent | eb443e5a25d43996deb62b9bcee1a4ce5dea2ead (diff) |
ocfs2: fix i_mutex locking in ocfs2_splice_to_file()
Rearrange locking of i_mutex on destination and call to
ocfs2_rw_lock() so locks are only held while buffers are copied with
the pipe_to_file() actor, and not while waiting for more data on the
pipe.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/splice.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/splice.h b/include/linux/splice.h index 8fc2a635586e..5f3faa9d15ae 100644 --- a/include/linux/splice.h +++ b/include/linux/splice.h | |||
@@ -75,6 +75,8 @@ extern int splice_from_pipe_next(struct pipe_inode_info *, | |||
75 | extern void splice_from_pipe_begin(struct splice_desc *); | 75 | extern void splice_from_pipe_begin(struct splice_desc *); |
76 | extern void splice_from_pipe_end(struct pipe_inode_info *, | 76 | extern void splice_from_pipe_end(struct pipe_inode_info *, |
77 | struct splice_desc *); | 77 | struct splice_desc *); |
78 | extern int pipe_to_file(struct pipe_inode_info *, struct pipe_buffer *, | ||
79 | struct splice_desc *); | ||
78 | 80 | ||
79 | extern ssize_t splice_to_pipe(struct pipe_inode_info *, | 81 | extern ssize_t splice_to_pipe(struct pipe_inode_info *, |
80 | struct splice_pipe_desc *); | 82 | struct splice_pipe_desc *); |