Compile out splice support from shmem when the splice-family of syscalls is not supported by the system (i.e. CONFIG_SYSCALL_SPLICE is undefined). Signed-off-by: Pieter Smith <pieter@xxxxxxxxxx> --- mm/shmem.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/mm/shmem.c b/mm/shmem.c index 0e5fb22..4fb78b3 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -1626,6 +1626,7 @@ static ssize_t shmem_file_read_iter(struct kiocb *iocb, struct iov_iter *to) return retval ? retval : error; } +#ifdef CONFIG_SYSCALL_SPLICE static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos, struct pipe_inode_info *pipe, size_t len, unsigned int flags) @@ -1739,6 +1740,7 @@ static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos, } return error; } +#endif /* #ifdef CONFIG_SYSCALL_SPLICE */ /* * llseek SEEK_DATA or SEEK_HOLE through the radix_tree. @@ -3088,8 +3090,8 @@ static const struct file_operations shmem_file_operations = { .read_iter = shmem_file_read_iter, .write_iter = generic_file_write_iter, .fsync = noop_fsync, - .splice_read = shmem_file_splice_read, - .splice_write = iter_file_splice_write, + SPLICE_READ_INIT(shmem_file_splice_read) + SPLICE_WRITE_INIT(iter_file_splice_write) .fallocate = shmem_fallocate, #endif }; -- 1.9.1 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>