From: Andrew Morton net/socket.c:148: warning: initialization from incompatible pointer type extern declarations in .c files! Bad boy. Cc: Jens Axboe Cc: Ingo Molnar Signed-off-by: Andrew Morton --- include/linux/fs.h | 11 +++++++++-- net/socket.c | 4 ---- 2 files changed, 9 insertions(+), 6 deletions(-) diff -puN net/socket.c~splice-warning-fix net/socket.c --- devel/net/socket.c~splice-warning-fix 2006-04-07 22:59:45.000000000 -0700 +++ devel-akpm/net/socket.c 2006-04-07 23:00:27.000000000 -0700 @@ -119,10 +119,6 @@ static ssize_t sock_writev(struct file * static ssize_t sock_sendpage(struct file *file, struct page *page, int offset, size_t size, loff_t *ppos, int more); -extern ssize_t generic_splice_sendpage(struct inode *inode, struct file *out, - size_t len, unsigned int flags); - - /* * Socket files have a set of 'special' operations as well as the generic file ones. These don't appear * in the operation structures but are done directly via the socketcall() multiplexor. diff -puN include/linux/fs.h~splice-warning-fix include/linux/fs.h --- devel/include/linux/fs.h~splice-warning-fix 2006-04-07 22:59:45.000000000 -0700 +++ devel-akpm/include/linux/fs.h 2006-04-07 23:01:37.000000000 -0700 @@ -1612,8 +1612,15 @@ extern ssize_t generic_file_sendfile(str extern void do_generic_mapping_read(struct address_space *mapping, struct file_ra_state *, struct file *, loff_t *, read_descriptor_t *, read_actor_t); -extern ssize_t generic_file_splice_read(struct file *, struct pipe_inode_info *, size_t, unsigned int); -extern ssize_t generic_file_splice_write(struct pipe_inode_info *, struct file *, size_t, unsigned int); + +/* fs/splice.c */ +extern ssize_t generic_file_splice_read(struct file *, + struct pipe_inode_info *, size_t, unsigned int); +extern ssize_t generic_file_splice_write(struct pipe_inode_info *, + struct file *, size_t, unsigned int); +extern ssize_t generic_splice_sendpage(struct pipe_inode_info *pipe, + struct file *out, size_t len, unsigned int flags); + extern void file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping); extern ssize_t generic_file_readv(struct file *filp, const struct iovec *iov, _