From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pieter Smith Subject: [PATCH 04/56] fs: Macros to define splice file_operations Date: Thu, 13 Nov 2014 22:22:41 +0100 Message-ID: <1415913813-362-5-git-send-email-pieter@boesman.nl> References: <1415913813-362-1-git-send-email-pieter@boesman.nl> Cc: Josh Triplett , Jeff Layton , "J. Bruce Fields" , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org (open list) To: pieter@boesman.nl Return-path: In-Reply-To: <1415913813-362-1-git-send-email-pieter@boesman.nl> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org Provides a CONFIG_SYSCALL_SPLICE compatible way of defining the .splice_read and .splice_write file_operations so that they can later be compiled out when the kernel is configured without the splice-family syscalls Signed-off-by: Pieter Smith --- include/linux/fs.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index 9418772..a88de9f 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1512,6 +1512,32 @@ struct file_operations { int (*show_fdinfo)(struct seq_file *m, struct file *f); }; +#ifdef CONFIG_SYSCALL_SPLICE + +/* + * Define and init the splice_read member of a file_operations struct + */ +#define SPLICE_READ_INIT(read) .splice_read = read, + +/* + * Define and init the splice_read member of a file_operations struct + */ +#define SPLICE_WRITE_INIT(write) .splice_write = write, + +#else /* #ifdef CONFIG_SYSCALL_SPLICE */ + +/* + * Define and init the splice_read member of a file_operations struct + */ +#define SPLICE_READ_INIT(read) + +/* + * Define and init the splice_read member of a file_operations struct + */ +#define SPLICE_WRITE_INIT(write) + +#endif /* #ifdef CONFIG_SYSCALL_SPLICE */ + struct inode_operations { struct dentry * (*lookup) (struct inode *,struct dentry *, unsigned int); void * (*follow_link) (struct dentry *, struct nameidata *); -- 1.9.1