[PATCH v6 18/18] nfs/nfsd: add Kconfig options to allow localio to be enabled

Mike Snitzer
2024-06-19T20:40:58Z

Now that all the localio code is complete, allow users to enable it.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
---
fs/Kconfig | 3 +++
fs/nfs/Kconfig | 30 ++++++++++++++++++++++++++++++
fs/nfsd/Kconfig | 30 ++++++++++++++++++++++++++++++
3 files changed, 63 insertions(+)

diff --git a/fs/Kconfig b/fs/Kconfig
index a46b0cbc4d8f..170083ff2a51 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -377,6 +377,9 @@ config NFS_ACL_SUPPORT
tristate
select FS_POSIX_ACL

+config NFS_COMMON_LOCALIO_SUPPORT
+ tristate
+
config NFS_COMMON
bool
depends on NFSD || NFS_FS || LOCKD
diff --git a/fs/nfs/Kconfig b/fs/nfs/Kconfig
index 57249f040dfc..70ff4f7a1a22 100644
--- a/fs/nfs/Kconfig
+++ b/fs/nfs/Kconfig
@@ -1,10 +1,16 @@
# SPDX-License-Identifier: GPL-2.0-only
+
+config NFS_LOCALIO
+ tristate
+
config NFS_FS
tristate "NFS client support"
depends on INET && FILE_LOCKING && MULTIUSER
select LOCKD
select SUNRPC
select NFS_ACL_SUPPORT if NFS_V3_ACL
+ select NFS_LOCALIO if NFS_V3_LOCALIO || NFS_V4_LOCALIO
+ select NFS_COMMON_LOCALIO_SUPPORT if NFS_LOCALIO
help
Choose Y here if you want to access files residing on other
computers using Sun's Network File System protocol. To compile
@@ -72,6 +78,18 @@ config NFS_V3_ACL

If unsure, say N.

+config NFS_V3_LOCALIO
+ bool "NFS client support for the NFSv3 LOCALIO protocol extension"
+ depends on NFS_V3
+ help
+ Some NFS servers support an auxiliary NFSv3 LOCALIO protocol
+ that is not an official part of the NFS version 3 protocol.
+
+ This option enables support for version 3 of the LOCALIO
+ protocol in the kernel's NFS client.
+
+ If unsure, say N.
+
config NFS_V4
tristate "NFS client support for NFS version 4"
depends on NFS_FS
@@ -86,6 +104,18 @@ config NFS_V4

If unsure, say Y.

+config NFS_V4_LOCALIO
+ bool "NFS client support for the NFSv4 LOCALIO protocol extension"
+ depends on NFS_V4
+ help
+ Some NFS servers support an auxiliary NFSv4 LOCALIO protocol
+ that is not an official part of the NFS version 4 protocol.
+
+ This option enables support for version 4 of the LOCALIO
+ protocol in the kernel's NFS client.
+
+ If unsure, say N.
+
config NFS_SWAP
bool "Provide swap over NFS support"
default n
diff --git a/fs/nfsd/Kconfig b/fs/nfsd/Kconfig
index ec2ab6429e00..edae34a7b7e5 100644
--- a/fs/nfsd/Kconfig
+++ b/fs/nfsd/Kconfig
@@ -1,4 +1,8 @@
# SPDX-License-Identifier: GPL-2.0-only
+
+config NFSD_LOCALIO
+ tristate
+
config NFSD
tristate "NFS server support"
depends on INET
@@ -9,6 +13,8 @@ config NFSD
select EXPORTFS
select NFS_ACL_SUPPORT if NFSD_V2_ACL
select NFS_ACL_SUPPORT if NFSD_V3_ACL
+ select NFSD_LOCALIO if NFSD_V3_LOCALIO || NFSD_V4_LOCALIO
+ select NFS_COMMON_LOCALIO_SUPPORT if NFSD_LOCALIO
depends on MULTIUSER
help
Choose Y here if you want to allow other computers to access
@@ -69,6 +75,18 @@ config NFSD_V3_ACL

If unsure, say N.

+config NFSD_V3_LOCALIO
+ bool "NFS server support for the NFSv3 LOCALIO protocol extension"
+ depends on NFSD
+ help
+ Some NFS servers support an auxiliary NFSv3 LOCALIO protocol
+ that is not an official part of the NFS version 3 protocol.
+
+ This option enables support for version 3 of the LOCALIO
+ protocol in the kernel's NFS server.
+
+ If unsure, say N.
+
config NFSD_V4
bool "NFS server support for NFS version 4"
depends on NFSD && PROC_FS
@@ -89,6 +107,18 @@ config NFSD_V4

If unsure, say N.

+config NFSD_V4_LOCALIO
+ bool "NFS server support for the NFSv4 LOCALIO protocol extension"
+ depends on NFSD_V4
+ help
+ Some NFS servers support an auxiliary NFSv4 LOCALIO protocol
+ that is not an official part of the NFS version 4 protocol.
+
+ This option enables support for version 4 of the LOCALIO
+ protocol in the kernel's NFS server.
+
+ If unsure, say N.
+
config NFSD_PNFS
bool

--
2.44.0