Browse Source

fix some crypot dependencies, add experimental btrfs support

Waldemar Brodkorb 10 years ago
parent
commit
4bd703530d

+ 31 - 6
mk/modules.mk

@@ -774,6 +774,10 @@ $(eval $(call KMOD_template,BLK_DEV_SR,blk-dev-sr,\
 # RAID
 #
 
+$(eval $(call KMOD_template,RAID6_PQ,raid-pq,\
+    $(MODULES_DIR)/kernel/lib/raid6/raid6_pq \
+,20))
+
 $(eval $(call KMOD_template,BLK_DEV_MD,blk-dev-md,\
     $(MODULES_DIR)/kernel/drivers/md/md-mod \
 ,30))
@@ -787,15 +791,13 @@ $(eval $(call KMOD_template,MD_RAID1,md-raid1,\
 ,35))
 
 $(eval $(call KMOD_template,MD_RAID456,md-raid456,\
-    $(MODULES_DIR)/kernel/lib/raid6/raid6_pq \
-    $(MODULES_DIR)/kernel/crypto/xor \
     $(MODULES_DIR)/kernel/crypto/async_tx/async_tx \
     $(MODULES_DIR)/kernel/crypto/async_tx/async_xor \
     $(MODULES_DIR)/kernel/crypto/async_tx/async_memcpy \
     $(MODULES_DIR)/kernel/crypto/async_tx/async_raid6_recov \
     $(MODULES_DIR)/kernel/crypto/async_tx/async_pq \
     $(MODULES_DIR)/kernel/drivers/md/raid456 \
-,35))
+,35, kmod-raid-pq kmod-xor-blocks))
 
 #
 # Device Mapper
@@ -852,12 +854,16 @@ $(eval $(call KMOD_template,CRYPTO_MANAGER2,crypto-manager,\
     $(MODULES_DIR)/kernel/crypto/cryptomgr \
     $(MODULES_DIR)/kernel/crypto/eseqiv \
     $(MODULES_DIR)/kernel/crypto/chainiv \
-,07))
+,08))
 
 $(eval $(call KMOD_template,CRYPTO_DEV_GEODE,crypto-dev-geode,\
     $(MODULES_DIR)/kernel/drivers/crypto/geode-aes \
 ,20))
 
+$(eval $(call KMOD_template,XOR_BLOCKS,xor-blocks,\
+    $(MODULES_DIR)/kernel/crypto/xor \
+,10))
+
 $(eval $(call KMOD_template,CRYPTO_AUTHENC,crypto-authenc,\
     $(MODULES_DIR)/kernel/crypto/authenc \
 ,11))
@@ -993,9 +999,8 @@ $(eval $(call KMOD_template,CRYPTO_FCRYPT,crypto-fcrypt,\
 ,11))
 
 $(eval $(call KMOD_template,CRYPTO_DEFLATE,crypto-deflate,\
-    $(MODULES_DIR)/kernel/lib/zlib_deflate/zlib_deflate \
     $(MODULES_DIR)/kernel/crypto/deflate \
-,10))
+,10, kmod-zlib-deflate))
 
 $(eval $(call KMOD_template,CRYPTO_LZO,crypto-lzo,\
     $(MODULES_DIR)/kernel/crypto/lzo \
@@ -1110,6 +1115,10 @@ $(eval $(call KMOD_template,XFS_FS,xfs-fs,\
 	$(MODULES_DIR)/kernel/fs/xfs/xfs \
 ,30))
 
+$(eval $(call KMOD_template,BTRFS_FS,btrfs-fs,\
+	$(MODULES_DIR)/kernel/fs/btrfs/btrfs \
+,30, kmod-raid6-pq kmod-xor-blocks))
+
 $(eval $(call KMOD_template,YAFFS_FS,yaffs-fs,\
 	$(MODULES_DIR)/kernel/fs/yaffs2/yaffs \
 ,30))
@@ -1803,3 +1812,19 @@ $(eval $(call KMOD_template,VIRTIO_NET,virtio-net,\
 	$(MODULES_DIR)/kernel/drivers/net/virtio_net \
 ,40))
 
+#
+# Lib
+#
+
+$(eval $(call KMOD_template,ZLIB_DEFLATE,zlib-deflate,\
+	$(MODULES_DIR)/kernel/lib/zlib_deflate/zlib_deflate \
+,01))
+
+$(eval $(call KMOD_template,LZO_COMPRESS,lzo-compress,\
+	$(MODULES_DIR)/kernel/lib/lzo/lzo_compress \
+,01))
+
+$(eval $(call KMOD_template,LZO_DECOMPRESS,lzo-decompress,\
+	$(MODULES_DIR)/kernel/lib/lzo/lzo_decompress \
+,01))
+

+ 3 - 0
target/linux/config/Config.in.block

@@ -3,6 +3,9 @@ menu "Block devices support"
 config ADK_KERNEL_MD
 	boolean
 
+config ADK_KERNEL_RAID6_PQ
+	tristate
+
 config ADK_KERNEL_LBD
 	boolean
 

+ 4 - 0
target/linux/config/Config.in.crypto

@@ -6,6 +6,9 @@ config ADK_KERNEL_CRYPTO
 config ADK_KERNEL_CRYPTO_HW
 	tristate
 
+config ADK_KERNEL_XOR_BLOCKS
+	tristate
+
 comment "Hardware cryptography"
 
 menu "Hardware crypto devices"
@@ -69,6 +72,7 @@ config ADK_KERNEL_CRYPTO_AEAD2
 
 config ADK_KERNEL_CRYPTO_HASH
 	tristate
+	select ADK_KERNEL_CRYPTO_ALGAPI
 	select ADK_KERNEL_CRYPTO_HASH2
 	select ADK_KERNEL_CRYPTO_ALGAPI
 

+ 17 - 0
target/linux/config/Config.in.fs

@@ -181,6 +181,23 @@ config ADK_KERNEL_XFS_FS
 	  for complete details.  This implementation is on-disk compatible
 	  with the IRIX version of XFS.
 
+config ADK_KERNEL_BTRFS_FS
+	prompt "Btrfs filesystem support"
+	tristate
+	select ADK_KERNEL_CRYPTO_CRC32C
+	select ADK_KERNEL_RAID6_PQ
+	select ADK_KERNEL_XOR_BLOCKS
+	select ADK_KERNEL_ZLIB_DEFLATE
+	select ADK_KERNEL_LZO_COMPRESS
+	select ADK_KERNEL_LZO_DECOMPRESS
+	default n
+	help
+	  Btrfs is a general purpose copy-on-write filesystem with extents,
+	  writable snapshotting, support for multiple devices and many more
+	  features focused on fault tolerance, repair and easy administration.
+	  For more information, please see the web pages at
+	  http://btrfs.wiki.kernel.org
+
 config ADK_KERNEL_FUSE_FS
 	prompt "Filesystem in Userspace support"
 	tristate

+ 12 - 0
target/linux/config/Config.in.lib

@@ -40,4 +40,16 @@ config ADK_KERNEL_CRC_CCITT
 	  This module provides CRC-CCITT library functions for kernel 
 	  modules built outside the kernel.
 
+config ADK_KERNEL_ZLIB_DEFLATE
+	tristate
+	default n
+
+config ADK_KERNEL_LZO_COMPRESS
+	tristate
+	default n
+
+config ADK_KERNEL_LZO_DECOMPRESS
+	tristate
+	default n
+
 endmenu