compFUSEd

compFUSEd is a simple compressed overlay fs that supports both READ and WRITE operations.

description

download

specifications

Since there are none right now for Linux [well there still is ext2comp, but ext2 is getting a bit old and the patches are NOT compatible with ext3] I wrote this thing. Thanks to FUSE and using compFUSEd you can have a compressed FS on top of any fancy 'must have' FS on Linux.

Simple? This fs is not suited for large files! Files are compressed as a whole. No clever strategy was used to split the files in chunks of fixed. Later maybe.

Overlay? Files are compressed an decompressed on the fly but the actual storage is done in the directory of an underlying fs. This underlying fs takes care of space allocation, fragmention, etc...

Here are some key features of "compFUSEd":

· Transparant read and write compression (again, I know ;) · Configuration file (very simple one) · Can use ZLIB, LZO or BZIP2, set in config file. You can not change the compression once the files are created! · User defined blacklist of file extensions that should not be compressed, set in config file. So that we do not try to compress jpeg or Xvid files. Common file types are included by default in the blacklist (see cf_file.c). · Files smaller that 4096 bytes are not compressed. First because bzip2 has problems with that! And second because I _think_ that the underlying fs will allocate a block of 4096 bytes anyway to store the compressed data anyway (no?). · Any cleverness? Not really, uncompressible files are not compressed. Unchanged files are not recompressed (whoaa!...:( ). · Since version 0.04 (cf-200528614.tgz) threading works (after 12 October 2005).

What's New in This Release:

· A new "minimum size for compression" parameter has been added.· Incorrectly marked uncompressable chunks have been fixed.· The code to persist the filesystem info between mounts has been fixed.· This release has graceful handling of compression lib failure.· It has dynamically sized file mapping (internal mapping).