Squashfs: Add XZ compression configuration option
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
This commit is contained in:
		
							parent
							
								
									81bb8debd0
								
							
						
					
					
						commit
						7a43ae5237
					
				| @ -53,6 +53,21 @@ config SQUASHFS_LZO | ||||
| 
 | ||||
| 	  If unsure, say N. | ||||
| 
 | ||||
| config SQUASHFS_XZ | ||||
| 	bool "Include support for XZ compressed file systems" | ||||
| 	depends on SQUASHFS | ||||
| 	select XZ_DEC | ||||
| 	help | ||||
| 	  Saying Y here includes support for reading Squashfs file systems | ||||
| 	  compressed with XZ compresssion.  XZ gives better compression than | ||||
| 	  the default zlib compression, at the expense of greater CPU and | ||||
| 	  memory overhead. | ||||
| 
 | ||||
| 	  XZ is not the standard compression used in Squashfs and so most | ||||
| 	  file systems will be readable without selecting this option. | ||||
| 
 | ||||
| 	  If unsure, say N. | ||||
| 
 | ||||
| config SQUASHFS_EMBEDDED | ||||
| 	bool "Additional option for memory-constrained systems" | ||||
| 	depends on SQUASHFS | ||||
|  | ||||
| @ -7,3 +7,4 @@ squashfs-y += block.o cache.o dir.o export.o file.o fragment.o id.o inode.o | ||||
| squashfs-y += namei.o super.o symlink.o zlib_wrapper.o decompressor.o | ||||
| squashfs-$(CONFIG_SQUASHFS_XATTR) += xattr.o xattr_id.o | ||||
| squashfs-$(CONFIG_SQUASHFS_LZO) += lzo_wrapper.o | ||||
| squashfs-$(CONFIG_SQUASHFS_XZ) += xz_wrapper.o | ||||
|  | ||||
| @ -46,6 +46,12 @@ static const struct squashfs_decompressor squashfs_lzo_unsupported_comp_ops = { | ||||
| }; | ||||
| #endif | ||||
| 
 | ||||
| #ifndef CONFIG_SQUASHFS_XZ | ||||
| static const struct squashfs_decompressor squashfs_xz_comp_ops = { | ||||
| 	NULL, NULL, NULL, XZ_COMPRESSION, "xz", 0 | ||||
| }; | ||||
| #endif | ||||
| 
 | ||||
| static const struct squashfs_decompressor squashfs_unknown_comp_ops = { | ||||
| 	NULL, NULL, NULL, 0, "unknown", 0 | ||||
| }; | ||||
| @ -58,6 +64,7 @@ static const struct squashfs_decompressor *decompressor[] = { | ||||
| #else | ||||
| 	&squashfs_lzo_unsupported_comp_ops, | ||||
| #endif | ||||
| 	&squashfs_xz_comp_ops, | ||||
| 	&squashfs_unknown_comp_ops | ||||
| }; | ||||
| 
 | ||||
|  | ||||
| @ -52,4 +52,9 @@ static inline int squashfs_decompress(struct squashfs_sb_info *msblk, | ||||
| 	return msblk->decompressor->decompress(msblk, buffer, bh, b, offset, | ||||
| 		length, srclength, pages); | ||||
| } | ||||
| 
 | ||||
| #ifdef CONFIG_SQUASHFS_XZ | ||||
| extern const struct squashfs_decompressor squashfs_xz_comp_ops; | ||||
| #endif | ||||
| 
 | ||||
| #endif | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user