	SQUASHFS 2.1 - A squashed read-only filesystem for Linux

	Copyright 2004 Phillip Lougher (plougher@users.sourceforge.net)

	Released under the GPL licence (version 2 or later).

Welcome to Squashfs version 2.1-r2.  Squashfs 2.1 introduces indexed
directories which considerably speed up directory lookup (ls, find etc.) for
directories which are greater than 8K in size.  All directories are now also
sorted alphabetically which further speeds up directory lookup.  Many smaller
improvements have also been made to this release, please see the CHANGES file
entry for detailed changes.

1. DIRECTORY SPEED IMPROVEMENT EXAMPLES
---------------------------------------

To give an indication of the directory speed improvements a number of test
results are shown here.  There is in addition a new PERFORMANCE.README file
which gives details of I/O and lookup performance for Squashfs 2.1 against
the Zisofs, Cloop and CRAMFS filesystems.

example 1:

Filesystems generated from a single directory of 72,784 files (2.6 MB
directory size).  Each file is 10 bytes in size (the test is directory
lookup and so the file size isn't an issue).  The ext3 uncompressed
directory size is 288 MB (presumably because of one file per block).

Zisofs compressed size        153.50 MB
Cloop (isofs) compressed size 1.74 MB
Squashfs2.1 compressed size   612 KB (0.60 MB)

Time taken to perform "ls -lR --color=always | cat > /dev/null" on
filesystems mounted on hard disk.

Zisofs       35 minutes 7.895 seconds (User 7.868 secs, Sys 34 mins 5.621 secs)
Cloop        35 minutes 12.765 seconds (User 7.771 secs, Sys 34 mins 3.869 secs)
Squashfs2.1  19 seconds (User 5.119 secs, Sys 14.547 secs)

example 2:

Filesystems were generated from the Ubuntu Warty livecd (original uncompressed
size on ext3 is 1.4 GB).

Zisofs compressed size        589.81 MB
Cloop (isofs) compressed size 471.19 MB
Squashfs2.0 compressed size   448.58 MB
Squashfs2.1 compressed size   448.58 MB

Time taken to perform "ls -lR --color=always | cat > /dev/null" on
filesystems mounted on hard disk.

Zisofs        49.875 seconds (User time 2.589 secs, Sys 11.194 secs)
Cloop         20.797 seconds (User time 2.706 secs, Sys 13.496 secs)
Squashfs2.0   16.556 seconds (User time 2.424 secs, Sys 10.371 secs)
Squashfs2.1   10.143 seconds (User time 2.475 secs, Sys 4.440 secs)


NOTE: the usual warnings apply to these results, they are provided for
illustrative purposes only, and due to different hardware and/or file data, you
may obtain different results.  As such the results are provided "as is" without
any warranty (either express or implied) and you assume all risks as to their
quality and accuracy.

2. NEW MKSQUASHFS OPTIONS
-------------------------

There is only one extra option "-2.0".  This tells mksquashfs to generate
a filesystem which is mountable with Squashfs version 2.0.

3. APPENDING AND MOUNTING SQUASHFS 2.0 FILESYSTEMS
--------------------------------------------------

Mounting 2.0 filesystems is supported by Squashfs 2.1.  In addition
mksquashfs v2.1 can append to 2.0 filesystems, although the generated
filesystem will still be a 2.0 filesystem.

4. DONATIONS
------------

If you find Squashfs useful then please consider making a donation,
particularly if you use Squashfs in a commercial product.  Please consider
giving something back especially if you're making money from it.

Off the Squashfs subject somewhat I'm currently looking for another
job doing Linux kernel or filesystems work.  If you know of any such
work that can be performed from the UK then please get in touch.  Thanks.
