Re: [PATCH v5 4/7] fs/fuse: support compiling out splice

From: Pieter Smith
Date: Tue Nov 25 2014 - 14:42:54 EST


On Tue, Nov 25, 2014 at 03:17:13PM +0100, Miklos Szeredi wrote:
> [Trimming CC. Please do the same for other patches. I for one am not
> interested in the general tinification discussion]
>
> On Tue, Nov 25, 2014 at 08:19:39AM +0100, Pieter Smith wrote:
> > To implement splice support, fs/fuse makes use of nosteal_pipe_buf_ops. This
> > struct is exported by fs/splice. The goal of the larger patch set is to
> > completely compile out fs/splice, so uses of the exported struct need to be
> > compiled out along with fs/splice.
> >
> > This patch therefore compiles out splice support in fs/fuse when
> > CONFIG_SYSCALL_SPLICE is undefined.
> >
> > Signed-off-by: Pieter Smith <pieter@xxxxxxxxxx>
> > ---
> > fs/fuse/dev.c | 9 +++++++--
> > 1 file changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
> > index ca88731..e984302 100644
> > --- a/fs/fuse/dev.c
> > +++ b/fs/fuse/dev.c
> > @@ -1191,8 +1191,9 @@ __releases(fc->lock)
> > * request_end(). Otherwise add it to the processing list, and set
> > * the 'sent' flag.
> > */
> > -static ssize_t fuse_dev_do_read(struct fuse_conn *fc, struct file *file,
> > - struct fuse_copy_state *cs, size_t nbytes)
> > +static ssize_t __maybe_unused
> > +fuse_dev_do_read(struct fuse_conn *fc, struct file *file,
> > + struct fuse_copy_state *cs, size_t nbytes)
>
> fuse_dev_do_read() is definitely going to remain used. So no point in adding
> __maybe_unused.

Off course, but at least gcc now also is aware that this is intentional and
nicely refrains from nagging you with a warning.

> > {
> > int err;
> > struct fuse_req *req;
> > @@ -1291,6 +1292,7 @@ static ssize_t fuse_dev_read(struct kiocb *iocb, const struct iovec *iov,
> > return fuse_dev_do_read(fc, file, &cs, iov_length(iov, nr_segs));
> > }
> >
> > +#ifdef CONFIG_SYSCALL_SPLICE
> > static ssize_t fuse_dev_splice_read(struct file *in, loff_t *ppos,
> > struct pipe_inode_info *pipe,
> > size_t len, unsigned int flags)
> > @@ -1368,6 +1370,9 @@ out:
> > kfree(bufs);
> > return ret;
> > }
> > +#else /* CONFIG_SYSCALL_SPLICE */
> > +#define fuse_dev_splice_read NULL
> > +#endif
>
> This looks fine.
>
> Thanks,
> Miklos
>
> >
> > static int fuse_notify_poll(struct fuse_conn *fc, unsigned int size,
> > struct fuse_copy_state *cs)
> > --
> > 2.1.0
> >
--
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/