diff mbox series

[v7,07/31] netfs: Make a netfs helper module

Message ID 161918455721.3145707.4063925145568978308.stgit@warthog.procyon.org.uk (mailing list archive)
State New, archived
Headers show
Series Network fs helper library & fscache kiocb API | expand

Commit Message

David Howells April 23, 2021, 1:29 p.m. UTC
Make a netfs helper module to manage read request segmentation, caching
support and transparent huge page support on behalf of a network
filesystem.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-and-tested-by: Jeff Layton <jlayton@redhat.com>
Tested-by: Dave Wysochanski <dwysocha@redhat.com>
Tested-By: Marc Dionne <marc.dionne@auristor.com>
cc: Matthew Wilcox <willy@infradead.org>
cc: linux-mm@kvack.org
cc: linux-cachefs@redhat.com
cc: linux-afs@lists.infradead.org
cc: linux-nfs@vger.kernel.org
cc: linux-cifs@vger.kernel.org
cc: ceph-devel@vger.kernel.org
cc: v9fs-developer@lists.sourceforge.net
cc: linux-fsdevel@vger.kernel.org
Link: https://lore.kernel.org/r/160588496284.3465195.10102643717770106661.stgit@warthog.procyon.org.uk/ # rfc
Link: https://lore.kernel.org/r/161118135638.1232039.1622182202673126285.stgit@warthog.procyon.org.uk/ # rfc
Link: https://lore.kernel.org/r/161161031028.2537118.1213974428943508753.stgit@warthog.procyon.org.uk/ # v2
Link: https://lore.kernel.org/r/161340391427.1303470.14884950716721956560.stgit@warthog.procyon.org.uk/ # v3
Link: https://lore.kernel.org/r/161539531569.286939.18317119181653706665.stgit@warthog.procyon.org.uk/ # v4
Link: https://lore.kernel.org/r/161653790328.2770958.6710423217716151549.stgit@warthog.procyon.org.uk/ # v5
Link: https://lore.kernel.org/r/161789071202.6155.16519256513958534906.stgit@warthog.procyon.org.uk/ # v6
---

 fs/netfs/Kconfig |    8 ++++++++
 1 file changed, 8 insertions(+)
 create mode 100644 fs/netfs/Kconfig

Comments

Geert Uytterhoeven April 29, 2021, 8:04 a.m. UTC | #1
Hi David,

On Fri, Apr 23, 2021 at 3:31 PM David Howells <dhowells@redhat.com> wrote:
> Make a netfs helper module to manage read request segmentation, caching
> support and transparent huge page support on behalf of a network
> filesystem.
>
> Signed-off-by: David Howells <dhowells@redhat.com>

Thanks for your patch, which is now commit 3ca236440126f75c ("mm:
Implement readahead_control pageset expansion") upstream.

> --- /dev/null
> +++ b/fs/netfs/Kconfig
> @@ -0,0 +1,8 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +
> +config NETFS_SUPPORT
> +       tristate "Support for network filesystem high-level I/O"
> +       help
> +         This option enables support for network filesystems, including
> +         helpers for high-level buffered I/O, abstracting out read
> +         segmentation, local caching and transparent huge page support.

TBH, this help text didn't give me any clue on whether I want to enable
this config option or not.  Do I need it for e.g. NFS, which is a
network filesystem?

I see later patches make AFS and FSCACHE select NETFS_SUPPORT.  If this
is just a library of functions, to be selected by its users, then please
make the symbol invisible.

Thanks!

Gr{oetje,eeting}s,

                        Geert
David Howells April 29, 2021, 8:41 a.m. UTC | #2
Geert Uytterhoeven <geert@linux-m68k.org> wrote:

> I see later patches make AFS and FSCACHE select NETFS_SUPPORT.  If this
> is just a library of functions, to be selected by its users, then please
> make the symbol invisible.

Ideally, yes, it would be an invisible symbol enabled by select from the
network filesystems that use it - but doing that means that you can't choose
whether to build it in or build it as a module.

David
Dominique Martinet April 29, 2021, 8:43 a.m. UTC | #3
David Howells wrote on Thu, Apr 29, 2021 at 09:41:37AM +0100:
> Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> > I see later patches make AFS and FSCACHE select NETFS_SUPPORT.  If this
> > is just a library of functions, to be selected by its users, then please
> > make the symbol invisible.
> 
> Ideally, yes, it would be an invisible symbol enabled by select from the
> network filesystems that use it - but doing that means that you can't choose
> whether to build it in or build it as a module.

Afaik such dependencies are then built as a module if everything it
depends on are modules, and built-in if any of these are built-in.

I think most users would be fine with that -- there's little reason to
have netfs built-in if AFS ceph etc all are modules?
diff mbox series

Patch

diff --git a/fs/netfs/Kconfig b/fs/netfs/Kconfig
new file mode 100644
index 000000000000..2ebf90e6ca95
--- /dev/null
+++ b/fs/netfs/Kconfig
@@ -0,0 +1,8 @@ 
+# SPDX-License-Identifier: GPL-2.0-only
+
+config NETFS_SUPPORT
+	tristate "Support for network filesystem high-level I/O"
+	help
+	  This option enables support for network filesystems, including
+	  helpers for high-level buffered I/O, abstracting out read
+	  segmentation, local caching and transparent huge page support.