Re: [PATCH 20/56] fs/ext4: support compiling out splice

From: josh
Date: Thu Nov 13 2014 - 19:29:00 EST


On Thu, Nov 13, 2014 at 10:22:57PM +0100, Pieter Smith wrote:
> Compile out splice support from ext4 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>

See below; you shouldn't need this or similar patches for most
filesystems at all.

> fs/ext4/file.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ext4/file.c b/fs/ext4/file.c
> index aca7b24..c9d2962 100644
> --- a/fs/ext4/file.c
> +++ b/fs/ext4/file.c
> @@ -595,8 +595,8 @@ const struct file_operations ext4_file_operations = {
> .open = ext4_file_open,
> .release = ext4_release_file,
> .fsync = ext4_sync_file,
> - .splice_read = generic_file_splice_read,
> - .splice_write = iter_file_splice_write,
> + SPLICE_READ_INIT(generic_file_splice_read)
> + SPLICE_WRITE_INIT(iter_file_splice_write)

You can just define iter_file_splice_write as NULL when configuring out
splice. You could almost do the same for generic_file_splice_read, but
a couple of implementations of filesystem-specific splice functions
actually call it; you can make it a no-op static inline, though.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/