2014-11-13 21:33:06

by Pieter Smith

[permalink] [raw]
Subject: [PATCH 52/56] drivers/char/virtio: support compiling out splice

Compile out splice support from virtio character driver when the splice-family
of syscalls is not supported by the system (i.e. CONFIG_SYSCALL_SPLICE is
undefined).

Signed-off-by: Pieter Smith <[email protected]>
---
drivers/char/virtio_console.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index b585b47..de5e2cb 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -870,6 +870,7 @@ struct sg_list {
struct scatterlist *sg;
};

+#ifdef CONFIG_SYSCALL_SPLICE
static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
struct splice_desc *sd)
{
@@ -976,6 +977,7 @@ error_out:
pipe_unlock(pipe);
return ret;
}
+#endif /* #ifdef CONFIG_SYSCALL_SPLICE */

static unsigned int port_fops_poll(struct file *filp, poll_table *wait)
{
@@ -1109,7 +1111,7 @@ static const struct file_operations port_fops = {
.open = port_fops_open,
.read = port_fops_read,
.write = port_fops_write,
- .splice_write = port_fops_splice_write,
+ SPLICE_WRITE_INIT(port_fops_splice_write)
.poll = port_fops_poll,
.release = port_fops_release,
.fasync = port_fops_fasync,
--
1.9.1


2014-11-13 22:09:52

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH 52/56] drivers/char/virtio: support compiling out splice

On Thu, Nov 13, 2014 at 10:23:29PM +0100, Pieter Smith wrote:
> Compile out splice support from virtio character driver when the splice-family
> of syscalls is not supported by the system (i.e. CONFIG_SYSCALL_SPLICE is
> undefined).
>
> Signed-off-by: Pieter Smith <[email protected]>
> ---
> drivers/char/virtio_console.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
> index b585b47..de5e2cb 100644
> --- a/drivers/char/virtio_console.c
> +++ b/drivers/char/virtio_console.c
> @@ -870,6 +870,7 @@ struct sg_list {
> struct scatterlist *sg;
> };
>
> +#ifdef CONFIG_SYSCALL_SPLICE
> static int pipe_to_sg(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
> struct splice_desc *sd)
> {
> @@ -976,6 +977,7 @@ error_out:
> pipe_unlock(pipe);
> return ret;
> }
> +#endif /* #ifdef CONFIG_SYSCALL_SPLICE */

Not worth the #ifdef mess.