1*79398b25SAndroid Build Coastguard Worker SQUASHFS 2.1 - A squashed read-only filesystem for Linux 2*79398b25SAndroid Build Coastguard Worker 3*79398b25SAndroid Build Coastguard Worker Copyright 2004 Phillip Lougher ([email protected]) 4*79398b25SAndroid Build Coastguard Worker 5*79398b25SAndroid Build Coastguard Worker Released under the GPL licence (version 2 or later). 6*79398b25SAndroid Build Coastguard Worker 7*79398b25SAndroid Build Coastguard WorkerWelcome to Squashfs version 2.1-r2. Squashfs 2.1 introduces indexed 8*79398b25SAndroid Build Coastguard Workerdirectories which considerably speed up directory lookup (ls, find etc.) for 9*79398b25SAndroid Build Coastguard Workerdirectories which are greater than 8K in size. All directories are now also 10*79398b25SAndroid Build Coastguard Workersorted alphabetically which further speeds up directory lookup. Many smaller 11*79398b25SAndroid Build Coastguard Workerimprovements have also been made to this release, please see the CHANGES file 12*79398b25SAndroid Build Coastguard Workerentry for detailed changes. 13*79398b25SAndroid Build Coastguard Worker 14*79398b25SAndroid Build Coastguard Worker1. DIRECTORY SPEED IMPROVEMENT EXAMPLES 15*79398b25SAndroid Build Coastguard Worker--------------------------------------- 16*79398b25SAndroid Build Coastguard Worker 17*79398b25SAndroid Build Coastguard WorkerTo give an indication of the directory speed improvements a number of test 18*79398b25SAndroid Build Coastguard Workerresults are shown here. There is in addition a new PERFORMANCE.README file 19*79398b25SAndroid Build Coastguard Workerwhich gives details of I/O and lookup performance for Squashfs 2.1 against 20*79398b25SAndroid Build Coastguard Workerthe Zisofs, Cloop and CRAMFS filesystems. 21*79398b25SAndroid Build Coastguard Worker 22*79398b25SAndroid Build Coastguard Workerexample 1: 23*79398b25SAndroid Build Coastguard Worker 24*79398b25SAndroid Build Coastguard WorkerFilesystems generated from a single directory of 72,784 files (2.6 MB 25*79398b25SAndroid Build Coastguard Workerdirectory size). Each file is 10 bytes in size (the test is directory 26*79398b25SAndroid Build Coastguard Workerlookup and so the file size isn't an issue). The ext3 uncompressed 27*79398b25SAndroid Build Coastguard Workerdirectory size is 288 MB (presumably because of one file per block). 28*79398b25SAndroid Build Coastguard Worker 29*79398b25SAndroid Build Coastguard WorkerZisofs compressed size 153.50 MB 30*79398b25SAndroid Build Coastguard WorkerCloop (isofs) compressed size 1.74 MB 31*79398b25SAndroid Build Coastguard WorkerSquashfs2.1 compressed size 612 KB (0.60 MB) 32*79398b25SAndroid Build Coastguard Worker 33*79398b25SAndroid Build Coastguard WorkerTime taken to perform "ls -lR --color=always | cat > /dev/null" on 34*79398b25SAndroid Build Coastguard Workerfilesystems mounted on hard disk. 35*79398b25SAndroid Build Coastguard Worker 36*79398b25SAndroid Build Coastguard WorkerZisofs 35 minutes 7.895 seconds (User 7.868 secs, Sys 34 mins 5.621 secs) 37*79398b25SAndroid Build Coastguard WorkerCloop 35 minutes 12.765 seconds (User 7.771 secs, Sys 34 mins 3.869 secs) 38*79398b25SAndroid Build Coastguard WorkerSquashfs2.1 19 seconds (User 5.119 secs, Sys 14.547 secs) 39*79398b25SAndroid Build Coastguard Worker 40*79398b25SAndroid Build Coastguard Workerexample 2: 41*79398b25SAndroid Build Coastguard Worker 42*79398b25SAndroid Build Coastguard WorkerFilesystems were generated from the Ubuntu Warty livecd (original uncompressed 43*79398b25SAndroid Build Coastguard Workersize on ext3 is 1.4 GB). 44*79398b25SAndroid Build Coastguard Worker 45*79398b25SAndroid Build Coastguard WorkerZisofs compressed size 589.81 MB 46*79398b25SAndroid Build Coastguard WorkerCloop (isofs) compressed size 471.19 MB 47*79398b25SAndroid Build Coastguard WorkerSquashfs2.0 compressed size 448.58 MB 48*79398b25SAndroid Build Coastguard WorkerSquashfs2.1 compressed size 448.58 MB 49*79398b25SAndroid Build Coastguard Worker 50*79398b25SAndroid Build Coastguard WorkerTime taken to perform "ls -lR --color=always | cat > /dev/null" on 51*79398b25SAndroid Build Coastguard Workerfilesystems mounted on hard disk. 52*79398b25SAndroid Build Coastguard Worker 53*79398b25SAndroid Build Coastguard WorkerZisofs 49.875 seconds (User time 2.589 secs, Sys 11.194 secs) 54*79398b25SAndroid Build Coastguard WorkerCloop 20.797 seconds (User time 2.706 secs, Sys 13.496 secs) 55*79398b25SAndroid Build Coastguard WorkerSquashfs2.0 16.556 seconds (User time 2.424 secs, Sys 10.371 secs) 56*79398b25SAndroid Build Coastguard WorkerSquashfs2.1 10.143 seconds (User time 2.475 secs, Sys 4.440 secs) 57*79398b25SAndroid Build Coastguard Worker 58*79398b25SAndroid Build Coastguard Worker 59*79398b25SAndroid Build Coastguard WorkerNOTE: the usual warnings apply to these results, they are provided for 60*79398b25SAndroid Build Coastguard Workerillustrative purposes only, and due to different hardware and/or file data, you 61*79398b25SAndroid Build Coastguard Workermay obtain different results. As such the results are provided "as is" without 62*79398b25SAndroid Build Coastguard Workerany warranty (either express or implied) and you assume all risks as to their 63*79398b25SAndroid Build Coastguard Workerquality and accuracy. 64*79398b25SAndroid Build Coastguard Worker 65*79398b25SAndroid Build Coastguard Worker2. NEW MKSQUASHFS OPTIONS 66*79398b25SAndroid Build Coastguard Worker------------------------- 67*79398b25SAndroid Build Coastguard Worker 68*79398b25SAndroid Build Coastguard WorkerThere is only one extra option "-2.0". This tells mksquashfs to generate 69*79398b25SAndroid Build Coastguard Workera filesystem which is mountable with Squashfs version 2.0. 70*79398b25SAndroid Build Coastguard Worker 71*79398b25SAndroid Build Coastguard Worker3. APPENDING AND MOUNTING SQUASHFS 2.0 FILESYSTEMS 72*79398b25SAndroid Build Coastguard Worker-------------------------------------------------- 73*79398b25SAndroid Build Coastguard Worker 74*79398b25SAndroid Build Coastguard WorkerMounting 2.0 filesystems is supported by Squashfs 2.1. In addition 75*79398b25SAndroid Build Coastguard Workermksquashfs v2.1 can append to 2.0 filesystems, although the generated 76*79398b25SAndroid Build Coastguard Workerfilesystem will still be a 2.0 filesystem. 77*79398b25SAndroid Build Coastguard Worker 78*79398b25SAndroid Build Coastguard Worker4. DONATIONS 79*79398b25SAndroid Build Coastguard Worker------------ 80*79398b25SAndroid Build Coastguard Worker 81*79398b25SAndroid Build Coastguard WorkerIf you find Squashfs useful then please consider making a donation, 82*79398b25SAndroid Build Coastguard Workerparticularly if you use Squashfs in a commercial product. Please consider 83*79398b25SAndroid Build Coastguard Workergiving something back especially if you're making money from it. 84*79398b25SAndroid Build Coastguard Worker 85*79398b25SAndroid Build Coastguard WorkerOff the Squashfs subject somewhat I'm currently looking for another 86*79398b25SAndroid Build Coastguard Workerjob doing Linux kernel or filesystems work. If you know of any such 87*79398b25SAndroid Build Coastguard Workerwork that can be performed from the UK then please get in touch. Thanks. 88