Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
Browse files Browse the repository at this point in the history
* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:
  Squashfs: Make ZLIB compression support optional
  Squashfs: Update documentation for XZ and add squashfs-tools devel tree
  • Loading branch information
Linus Torvalds committed Jul 26, 2011
2 parents 2dad320 + cc6d349 commit 91d44d9
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 6 deletions.
4 changes: 3 additions & 1 deletion Documentation/filesystems/squashfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ SQUASHFS 4.0 FILESYSTEM
=======================

Squashfs is a compressed read-only filesystem for Linux.
It uses zlib/lzo compression to compress files, inodes and directories.
It uses zlib/lzo/xz compression to compress files, inodes and directories.
Inodes in the system are very small and all blocks are packed to minimise
data overhead. Block sizes greater than 4K are supported up to a maximum
of 1Mbytes (default block size 128K).
Expand Down Expand Up @@ -55,6 +55,8 @@ create populated squashfs filesystems. This and other squashfs utilities
can be obtained from http://www.squashfs.org. Usage instructions can be
obtained from this site also.

The squashfs-tools development tree is now located on kernel.org
git://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git

3. SQUASHFS FILESYSTEM DESIGN
-----------------------------
Expand Down
14 changes: 13 additions & 1 deletion fs/squashfs/Kconfig
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
config SQUASHFS
tristate "SquashFS 4.0 - Squashed file system support"
depends on BLOCK
select ZLIB_INFLATE
help
Saying Y here includes support for SquashFS 4.0 (a Compressed
Read-Only File System). Squashfs is a highly compressed read-only
Expand Down Expand Up @@ -36,6 +35,19 @@ config SQUASHFS_XATTR

If unsure, say N.

config SQUASHFS_ZLIB
bool "Include support for ZLIB compressed file systems"
depends on SQUASHFS
select ZLIB_INFLATE
default y
help
ZLIB compression is the standard compression used by Squashfs
file systems. It offers a good trade-off between compression
achieved and the amount of CPU time and memory necessary to
compress and decompress.

If unsure, say Y.

config SQUASHFS_LZO
bool "Include support for LZO compressed file systems"
depends on SQUASHFS
Expand Down
3 changes: 2 additions & 1 deletion fs/squashfs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@

obj-$(CONFIG_SQUASHFS) += squashfs.o
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-y += namei.o super.o symlink.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
squashfs-$(CONFIG_SQUASHFS_ZLIB) += zlib_wrapper.o
6 changes: 6 additions & 0 deletions fs/squashfs/decompressor.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ static const struct squashfs_decompressor squashfs_xz_comp_ops = {
};
#endif

#ifndef CONFIG_SQUASHFS_ZLIB
static const struct squashfs_decompressor squashfs_zlib_comp_ops = {
NULL, NULL, NULL, ZLIB_COMPRESSION, "zlib", 0
};
#endif

static const struct squashfs_decompressor squashfs_unknown_comp_ops = {
NULL, NULL, NULL, 0, "unknown", 0
};
Expand Down
4 changes: 4 additions & 0 deletions fs/squashfs/decompressor.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,4 +56,8 @@ extern const struct squashfs_decompressor squashfs_xz_comp_ops;
extern const struct squashfs_decompressor squashfs_lzo_comp_ops;
#endif

#ifdef CONFIG_SQUASHFS_ZLIB
extern const struct squashfs_decompressor squashfs_zlib_comp_ops;
#endif

#endif
3 changes: 0 additions & 3 deletions fs/squashfs/squashfs.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,3 @@ extern const struct inode_operations squashfs_symlink_inode_ops;

/* xattr.c */
extern const struct xattr_handler *squashfs_xattr_handlers[];

/* zlib_wrapper.c */
extern const struct squashfs_decompressor squashfs_zlib_comp_ops;

0 comments on commit 91d44d9

Please sign in to comment.