diff mbox

[OpenWrt-Devel] kernel: add support for NFSv4

Message ID 20150126050728.94C0C158019D@imp.flyn.org
State Accepted
Headers show

Commit Message

W. Michael Petullo Jan. 26, 2015, 5:07 a.m. UTC
From 9dc6a27ba327a6f4ff5892c56c472d857d6ea096 Mon Sep 17 00:00:00 2001
From: "W. Michael Petullo" <mike@flyn.org>
Date: Mon, 26 Jan 2015 00:01:34 -0500
Subject: [PATCH] kernel: add support for NFSv4
To: openwrt-devel@lists.openwrt.org

This work is based on Daniel Colascione's submission to the OpenWrt
devel mailing list on January 15th, 2014. I modified his patch so that
it applied to the current OpenWrt Barrier Breaker tree.

Signed-off-by: W. Michael Petullo <mike@flyn.org>
---
 package/kernel/linux/modules/fs.mk         | 50 ++++++++++++++++++++----------
 package/kernel/linux/modules/lib.mk        | 15 +++++++++
 package/kernel/linux/modules/netsupport.mk | 14 +++++++++
 3 files changed, 62 insertions(+), 17 deletions(-)
diff mbox

Patch

diff --git a/package/kernel/linux/modules/fs.mk b/package/kernel/linux/modules/fs.mk
index c117415..9e3470b 100644
--- a/package/kernel/linux/modules/fs.mk
+++ b/package/kernel/linux/modules/fs.mk
@@ -292,12 +292,24 @@  define KernelPackage/fs-nfs/description
  Kernel module for NFS support
 endef
 
+define KernelPackage/fs-nfs/config
+  if PACKAGE_kmod-fs-nfs
+       config KERNEL_NFS_V4
+               bool "Support NFSv4 in NFS client"
+               depends on PACKAGE_kmod-fs-sunrpc-auth-rpcgss
+               default n
+               help
+                 Select this option to support NFSv4 in the NFS server
+  endif
+endef
+
 $(eval $(call KernelPackage,fs-nfs))
 
 
 define KernelPackage/fs-nfs-common
   SUBMENU:=$(FS_MENU)
   TITLE:=Common NFS filesystem modules
+  DEPENDS:=+kmod-lib-oid-registry
   KCONFIG:= \
 	CONFIG_LOCKD \
 	CONFIG_SUNRPC
@@ -310,36 +322,40 @@  endef
 $(eval $(call KernelPackage,fs-nfs-common))
 
 
-define KernelPackage/fs-nfs-common-v4
+define KernelPackage/fs-sunrpc-auth-rpcgss
   SUBMENU:=$(FS_MENU)
-  TITLE:=Common NFS V4 filesystem modules
-  KCONFIG+=\
-	CONFIG_SUNRPC_GSS\
-	CONFIG_NFS_V4=y\
-	CONFIG_NFSD_V4=y
-  DEPENDS:= @BROKEN
-  FILES+=$(LINUX_DIR)/net/sunrpc/auth_gss/auth_rpcgss.ko
-  AUTOLOAD=$(call AutoLoad,30,auth_rpcgss)
-endef
-
-define KernelPackage/fs-nfs-common-v4/description
- Kernel modules for NFS V4 & NFSD V4 kernel support
+  TITLE:=GSS authentication for SUN RPC
+  DEPENDS:=+kmod-fs-nfs-common
+  KCONFIG:=CONFIG_SUNRPC_GSS
+  FILES:= \
+       $(LINUX_DIR)/net/sunrpc/auth_gss/auth_rpcgss.ko
+  AUTOLOAD:=$(call AutoLoad,30,auth_rpcgss)
 endef
 
-$(eval $(call KernelPackage,fs-nfs-common-v4))
-
+$(eval $(call KernelPackage,fs-sunrpc-auth-rpcgss))
 
 define KernelPackage/fs-nfsd
   SUBMENU:=$(FS_MENU)
   TITLE:=NFS kernel server support
-  DEPENDS:=+kmod-fs-nfs-common +kmod-fs-exportfs
-  KCONFIG:= \
+  DEPENDS:=+kmod-fs-nfs-common +kmod-fs-exportfs +kmod-fs-sunrpc-auth-rpcgss
+  KCONFIG= \
 	CONFIG_NFSD \
 	CONFIG_NFSD_FAULT_INJECTION=n
   FILES:=$(LINUX_DIR)/fs/nfsd/nfsd.ko
   AUTOLOAD:=$(call AutoLoad,40,nfsd)
 endef
 
+define KernelPackage/fs-nfsd/config
+  if PACKAGE_kmod-fs-nfsd
+       config KERNEL_NFSD_V4
+               bool "Support NFSv4 in NFS server"
+               depends on PACKAGE_kmod-fs-sunrpc-auth-rpcgss
+               default n
+               help
+                 Select this option to support NFSv4 in the NFS server
+  endif
+endef
+
 define KernelPackage/fs-nfsd/description
  Kernel module for NFS kernel server support
 endef
diff --git a/package/kernel/linux/modules/lib.mk b/package/kernel/linux/modules/lib.mk
index cd919ba..a148da3 100644
--- a/package/kernel/linux/modules/lib.mk
+++ b/package/kernel/linux/modules/lib.mk
@@ -202,3 +202,18 @@  define KernelPackage/lib-cordic/description
 endef
 
 $(eval $(call KernelPackage,lib-cordic))
+
+
+define KernelPackage/lib-oid-registry
+  SUBMENU:=$(LIB_MENU)
+  TITLE:=OID-Registry function support
+  KCONFIG:=CONFIG_OID_REGISTRY
+  FILES:=$(LINUX_DIR)/lib/oid_registry.ko
+  AUTOLOAD:=$(call AutoProbe,oid-registry)
+endef
+
+define KernelPackage/lib-oid-registry/description
+ Kernel module for OID-Registry function support
+endef
+
+$(eval $(call KernelPackage,lib-oid-registry))
diff --git a/package/kernel/linux/modules/netsupport.mk b/package/kernel/linux/modules/netsupport.mk
index fc85e22..bffb09c 100644
--- a/package/kernel/linux/modules/netsupport.mk
+++ b/package/kernel/linux/modules/netsupport.mk
@@ -967,3 +967,17 @@  define KernelPackage/rxrpc/description
 endef
 
 $(eval $(call KernelPackage,rxrpc))
+
+define KernelPackage/dns-resolver
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=DNS-resolver modules
+  KCONFIG:=CONFIG_DNS_RESOLVER
+  FILES:= \
+       $(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
+endef
+
+define KernelPackage/dns-resolver/description
+ Kernel modules for DNS-RESOLVER support
+endef
+
+$(eval $(call KernelPackage,dns-resolver))