]> git.openfabrics.org - ~shefty/rdma-dev.git/commitdiff
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 05:50:35 +0000 (22:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Jul 2011 05:50:35 +0000 (22:50 -0700)
* 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

Documentation/filesystems/squashfs.txt
fs/squashfs/Kconfig
fs/squashfs/Makefile
fs/squashfs/decompressor.c
fs/squashfs/decompressor.h
fs/squashfs/squashfs.h

index d4d41465a0b1bcaf2d712fb6af0314c63ab4b832..7db3ebda5a4c9afdbd1c4a7baffd039ad220933e 100644 (file)
@@ -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).
@@ -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
 -----------------------------
index 7797218d0b3005281e505837065d36b1e9e98077..1360d4f88f410646e0d0268f22e5c76149488494 100644 (file)
@@ -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
@@ -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
index cecf2bea07afdcd7c5e0771930ab0cdb50f0c37e..110b0476f3b48a21e016dd8f4337476ddf37c3ce 100644 (file)
@@ -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
index 9f1b0bb96f138b49f67f008e9043a27ec997e480..3f6271d86abc48ba3132ccfdd5668e118799e249 100644 (file)
@@ -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
 };
index 8ba70cff09a60e89f39713eb88a51f2abb10145d..330073e29029950238da75d90fbd86a9dc8c881a 100644 (file)
@@ -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
index e3be6a71cfa7508c4602c40cdab86641ac6742d7..d1266516ed08494e93f4dc2ef00fe66be9216cb5 100644 (file)
@@ -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;