Hi Nathaniel,

The AFS-related part is applied in r40587, thanks. The CIFS/NFS-related fscache change will be added separately later.

Regards,
-w-

nwf wrote:
Take three.  This time, I gave up on the dynamic support of fscache, preferring
to always have it compiled in and wired up as a dependency.  There's clearly
some intended ability to do dynamic dispatch in the makefiles here (see, e.g.,
the handling of CONFIG_OF), but I couldn't make it work for me here.  I think I
have all the requisite calls to subroutines, too.

I have a second patch below which turns on fscache support in the other exposed
network filesystems, namely NFS and CIFS, now that it's exposed.

Cheers,
--nwf;

diff --git a/package/kernel/linux/modules/crypto.mk 
b/package/kernel/linux/modules/crypto.mk
index dbeffa7..0df2fbc 100644
--- a/package/kernel/linux/modules/crypto.mk
+++ b/package/kernel/linux/modules/crypto.mk
@@ -277,6 +277,17 @@ endef
$(eval $(call KernelPackage,crypto-cbc)) +define KernelPackage/crypto-pcbc
+  TITLE:=Propagating Cipher Block Chaining CryptoAPI module
+  DEPENDS:=+kmod-crypto-manager
+  KCONFIG:=CONFIG_CRYPTO_PCBC
+  FILES:=$(LINUX_DIR)/crypto/pcbc.ko
+  AUTOLOAD:=$(call AutoLoad,09,pcbc)
+  $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-pcbc))
+
 define KernelPackage/crypto-crc32c
   TITLE:=CRC32c CRC module
   DEPENDS:=+kmod-crypto-hash
@@ -312,6 +323,16 @@ endef
 $(eval $(call KernelPackage,crypto-deflate))
+define KernelPackage/crypto-fcrypt
+  TITLE:=FCRYPT cipher CryptoAPI module
+  KCONFIG:=CONFIG_CRYPTO_FCRYPT
+  FILES:=$(LINUX_DIR)/crypto/fcrypt.ko
+  AUTOLOAD:=$(call AutoLoad,09,fcrypt)
+  $(call AddDepends/crypto)
+endef
+
+$(eval $(call KernelPackage,crypto-fcrypt))
+
 define KernelPackage/crypto-ecb
   TITLE:=Electronic CodeBook CryptoAPI module
   DEPENDS:=+kmod-crypto-manager
@@ -429,7 +450,6 @@ define KernelPackage/crypto-misc
        $(if $(call kernel_patchver_ge,3.7),$(LINUX_DIR)/crypto/cast_common.ko) 
\
        $(LINUX_DIR)/crypto/cast5$(cast56_mod_suffix).ko \
        $(LINUX_DIR)/crypto/cast6$(cast56_mod_suffix).ko \
-       $(LINUX_DIR)/crypto/fcrypt.ko \
        $(LINUX_DIR)/crypto/khazad.ko \
        $(LINUX_DIR)/crypto/sha512_generic.ko \
        $(LINUX_DIR)/crypto/tea.ko \
diff --git a/package/kernel/linux/modules/fs.mk 
b/package/kernel/linux/modules/fs.mk
index cd27e4a..5faaf37 100644
--- a/package/kernel/linux/modules/fs.mk
+++ b/package/kernel/linux/modules/fs.mk
@@ -7,6 +7,43 @@
FS_MENU:=Filesystems +define KernelPackage/fs-fscache
+  SUBMENU:=$(FS_MENU)
+  TITLE:=General filesystem local cache manager
+  DEPENDS:=
+  KCONFIG:=\
+       CONFIG_FSCACHE=m \
+       CONFIG_FSCACHE_STATS=y \
+       CONFIG_FSCACHE_HISTOGRAM=n \
+       CONFIG_FSCACHE_DEBUG=n \
+       CONFIG_FSCACHE_OBJECT_LIST=n \
+       CONFIG_CACHEFILES=y \
+       CONFIG_CACHEFILES_DEBUG=n \
+       CONFIG_CACHEFILES_HISTOGRAM=n
+  FILES:=$(LINUX_DIR)/fs/fscache/fscache.ko
+  AUTOLOAD:=$(call AutoLoad,29,fscache)
+endef
+
+$(eval $(call KernelPackage,fs-fscache))
+
+define KernelPackage/fs-afs
+  SUBMENU:=$(FS_MENU)
+  TITLE:=Andrew FileSystem client
+  DEPENDS:=+kmod-rxrpc +kmod-dnsresolver +kmod-fs-fscache
+  KCONFIG:=\
+       CONFIG_AFS_FS=m \
+       CONFIG_AFS_DEBUG=n \
+       CONFIG_AFS_FSCACHE=y
+  FILES:=$(LINUX_DIR)/fs/afs/kafs.ko
+  AUTOLOAD:=$(call AutoLoad,30,kafs)
+endef
+
+define KernelPackage/fs-afs/description
+  Kernel module for Andrew FileSystem client support
+endef
+
+$(eval $(call KernelPackage,fs-afs))
+
 define KernelPackage/fs-autofs4
   SUBMENU:=$(FS_MENU)
   TITLE:=AUTOFS4 filesystem support
diff --git a/package/kernel/linux/modules/netsupport.mk 
b/package/kernel/linux/modules/netsupport.mk
index 6f61630..fc85e22 100644
--- a/package/kernel/linux/modules/netsupport.mk
+++ b/package/kernel/linux/modules/netsupport.mk
@@ -938,3 +938,32 @@ endef
$(eval $(call KernelPackage,slip)) +define KernelPackage/dnsresolver
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=In-kernel DNS Resolver
+  KCONFIG:= CONFIG_DNS_RESOLVER
+  FILES:=$(LINUX_DIR)/net/dns_resolver/dns_resolver.ko
+  AUTOLOAD:=$(call AutoLoad,30,dns_resolver)
+endef
+
+$(eval $(call KernelPackage,dnsresolver))
+
+define KernelPackage/rxrpc
+  SUBMENU:=$(NETWORK_SUPPORT_MENU)
+  TITLE:=AF_RXRPC support
+  KCONFIG:= \
+       CONFIG_AF_RXRPC \
+       CONFIG_RXKAD=m \
+       CONFIG_AF_RXRPC_DEBUG=n
+  FILES:= \
+       $(LINUX_DIR)/net/rxrpc/af-rxrpc.ko \
+       $(LINUX_DIR)/net/rxrpc/rxkad.ko
+  AUTOLOAD:=$(call AutoLoad,30,rxkad af-rxrpc)
+  DEPENDS:=+kmod-crypto-core +kmod-crypto-manager +kmod-crypto-pcbc 
+kmod-crypto-fcrypt
+endef
+
+define KernelPackage/rxrpc/description
+  Kernel support for AF_RXRPC; required for AFS client
+endef
+
+$(eval $(call KernelPackage,rxrpc))





diff --git a/package/kernel/linux/modules/fs.mk 
b/package/kernel/linux/modules/fs.mk
index 5faaf37..dc8873b 100644
--- a/package/kernel/linux/modules/fs.mk
+++ b/package/kernel/linux/modules/fs.mk
@@ -85,11 +85,13 @@ define KernelPackage/fs-cifs
   KCONFIG:= \
        CONFIG_CIFS \
        CONFIG_CIFS_DFS_UPCALL=n \
-       CONFIG_CIFS_UPCALL=n
+       CONFIG_CIFS_UPCALL=n \
+       CONFIG_CIFS_FSCACHE=y
   FILES:=$(LINUX_DIR)/fs/cifs/cifs.ko
   AUTOLOAD:=$(call AutoLoad,30,cifs)
   $(call AddDepends/nls)
   DEPENDS+= \
+    +kmod-fs-fscache \
     +kmod-crypto-arc4 \
     +kmod-crypto-hmac \
     +kmod-crypto-md5 \
@@ -257,11 +259,12 @@ $(eval $(call KernelPackage,fs-msdos))
 define KernelPackage/fs-nfs
   SUBMENU:=$(FS_MENU)
   TITLE:=NFS filesystem support
-  DEPENDS:=+kmod-fs-nfs-common
+  DEPENDS:=+kmod-fs-nfs-common +kmod-fs-fscache
   KCONFIG:= \
        CONFIG_NFS_FS \
        CONFIG_NFS_USE_LEGACY_DNS=n \
-       CONFIG_NFS_USE_NEW_IDMAPPER=n
+       CONFIG_NFS_USE_NEW_IDMAPPER=n \
+       CONFIG_NFS_FSCACHE=y
 ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.6.0)),1)
   FILES:= \
        $(LINUX_DIR)/fs/nfs/nfs.ko \

Cheers,
--nwf;
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to