e2compr-FAQ - Frequently Asked Questions about the compression extension of the Second Extended File System

This is the version 1 of the FAQ - not very complete, but the most important questions are answered here. It's like the whole homepage: better this FAQ than no FAQ at all ;-)

Last Update: Mon May 31 14:03:48 CEST 2004

Content

  1. What is e2compr?
  2. Will e2compr be included into the vanilla kernel sources?
  3. Does e2compr work on ext3 file systems?
  4. What are the future plans of e2compr regarding the ext3 file system?
  1. What is e2compr?

    e2compr is a modification to the ext2 file system driver in the Linux Kernel to support online compression and decompression of files on file system level without any support by user applications.

  2. Will e2compr be included into the vanilla kernel sources?

    It's structure is not really modular, and it needs some patches to other parts of the kernel. So it is not easy to get it included to the vanilla kernel in current state of developement. Maybe it will be completely written »from scratch« - of course using much code from current e2compr but not simply copying it. Maybe we try to modify current code to better fit the kernel coding guidelines. But a main plan of this project is to get compression extension into the vanilla sources - but we didn't set us any deadline for that (and in near future we will not set any deadline, too).

  3. Does e2compr work on ext3 file systems?

    Yes and no. If you unmount an ext2 file system with journalling extension (wrongly called ext3), then it has an RW_INCOMPAT flag set for journalling. This means, that a filesystem driver can see, that this file system comtains any extra structured (here the journal) but that this doesn't need to be accounted on reading or even writing to the file system. This means, every ext2 fs driver can mount a cleanly unmounted »ext3« fs and can do any operations (reading files, changing files, creating directories and so on) on it without creating any inconsistencies.

    The compression extension differs from that in the way as it must be supported by the file system driver - if not you can't read any compressed file. So, you could e.g. add compression to an ext2 file system which already has the journalling extension added, but starting from that second you can't mount it as »ext3« any longer. Currently there is no ext2 file system driver which supports the journalling extension and the compression extension at the same time.

  4. What are the future plans of e2compr regarding the ext3 file system?

    The current e2compr code doesn't support journalling. The same tactic used by Steven Tweedie to get journalling supported is out of discussion for the e2compr patch in current state as it will still need many changes, which will be very difficult to keep in sync. So either we will add full journalling support in e2compr or journalling has to wait until e2compr is considered to be stable. (I think the first point is more likely).