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;
pgp_tPeiONqqn.pgp
Description: PGP signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel