From 6af67d8205cf65fbaaa743edc7ebb46e486e34ff Mon Sep 17 00:00:00 2001 From: Mark Fasheh Date: Tue, 6 Mar 2007 17:24:46 -0800 Subject: ocfs2: Use own splice write actor We need to fill holes during a splice write. Provide our own splice write actor which can call ocfs2_file_buffered_write() with a splice-specific callback. Signed-off-by: Mark Fasheh --- fs/ocfs2/aops.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'fs/ocfs2/aops.h') diff --git a/fs/ocfs2/aops.h b/fs/ocfs2/aops.h index 7d94071f0ab..1b4ba5356a4 100644 --- a/fs/ocfs2/aops.h +++ b/fs/ocfs2/aops.h @@ -80,6 +80,20 @@ int ocfs2_map_and_write_user_data(struct inode *inode, unsigned int *ret_from, unsigned int *ret_to); +struct ocfs2_splice_write_priv { + struct splice_desc *s_sd; + struct pipe_buffer *s_buf; + struct pipe_inode_info *s_pipe; + /* Neither offset value is ever larger than one page */ + unsigned int s_offset; + unsigned int s_buf_offset; +}; +int ocfs2_map_and_write_splice_data(struct inode *inode, + struct ocfs2_write_ctxt *wc, + u64 *p_blkno, + unsigned int *ret_from, + unsigned int *ret_to); + /* all ocfs2_dio_end_io()'s fault */ #define ocfs2_iocb_is_rw_locked(iocb) \ test_bit(0, (unsigned long *)&iocb->private) -- cgit v1.2.3