From patchwork Tue Nov 25 07:19:39 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pieter Smith X-Patchwork-Id: 414274 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 89E99140161 for ; Tue, 25 Nov 2014 18:22:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752136AbaKYHUm (ORCPT ); Tue, 25 Nov 2014 02:20:42 -0500 Received: from mail-wg0-f46.google.com ([74.125.82.46]:53060 "EHLO mail-wg0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752126AbaKYHUh (ORCPT ); Tue, 25 Nov 2014 02:20:37 -0500 Received: by mail-wg0-f46.google.com with SMTP id x12so24371wgg.5 for ; Mon, 24 Nov 2014 23:20:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=OjGs/lRwSVDda9AJLYUOXJm86AkkY/OeiedPl689WIQ=; b=b/1wkLwLzdA4nM+9h7WbYZvJ7jtl9cEq0A9EwemsO54L7WRD1bAlHBjNrxDlHWGrBe ixZ5AY9FNv7EGWYHTfufFJgiKKASN8cLAf+OnEeY5ziYGVWW552oSdtnaMQJAMoWwo+t TEy+J+yMkYH6/Gaa58j10Tstbgpxxt77qXioPbZ21695mUoaDFRUJpHCRzs+sKQupzJK Hi9EG0DIvW9pD8YjpiuU0lNVu8GXCMPo4LB4btII9YXHV1K4EIGAd5Ifg0POTBQ8Fj8+ BidL+mCKNQtq2AywmV4MMapdzSdUJHRjg3CUGoerbjrbVhFO09rYG9/Mcedq5YdnZRg+ cuNQ== X-Received: by 10.180.109.194 with SMTP id hu2mr28337642wib.24.1416900035462; Mon, 24 Nov 2014 23:20:35 -0800 (PST) Received: from localhost.localdomain (ip4da2e5c1.direct-adsl.nl. [77.162.229.193]) by mx.google.com with ESMTPSA id pl6sm1528414wic.22.2014.11.24.23.20.32 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 24 Nov 2014 23:20:34 -0800 (PST) From: Pieter Smith To: pieter@boesman.nl Cc: Josh Triplett , Alexander Duyck , Alexander Viro , Alexei Starovoitov , Andrew Morton , Bertrand Jacquin , Catalina Mocanu , Daniel Borkmann , "David S. Miller" , Eric Dumazet , "Eric W. Biederman" , Fabian Frederick , fuse-devel@lists.sourceforge.net (open list:FUSE: FILESYSTEM...), Geert Uytterhoeven , Hugh Dickins , Iulia Manda , Jan Beulich , "J. Bruce Fields" , Jeff Layton , linux-api@vger.kernel.org (open list:ABI/API), linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org (open list), linux-nfs@vger.kernel.org (open list:KERNEL NFSD, SUNR...), "Luis R. Rodriguez" , Matt Turner , Mel Gorman , "Michael S. Tsirkin" , Miklos Szeredi , netdev@vger.kernel.org (open list:NETWORKING [GENERAL]), Oleg Nesterov , Paul Durrant , "Paul E. McKenney" , Peter Foley , Thomas Graf , Tom Herbert , Trond Myklebust , Willem de Bruijn , Xiao Guangrong , =?UTF-8?q?=E8=94=A1=E6=AD=A3=E9=BE=99?= Subject: [PATCH v5 4/7] fs/fuse: support compiling out splice Date: Tue, 25 Nov 2014 08:19:39 +0100 Message-Id: <1416899996-21315-5-git-send-email-pieter@boesman.nl> X-Mailer: git-send-email 2.1.0 In-Reply-To: <1416899996-21315-1-git-send-email-pieter@boesman.nl> References: <1416899996-21315-1-git-send-email-pieter@boesman.nl> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 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 --- 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) { 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 static int fuse_notify_poll(struct fuse_conn *fc, unsigned int size, struct fuse_copy_state *cs)