INTRODUCTION



This work has been done by ALCATEL (Alcatel Business Systems - eND - R&D) in Illkirch France.



  The e2compress package for the 2.4.17 kernel, is based on the e2compr-0.4.39 patch provided by Peter Moulder for 2.2.18 kernel (http://www.netspace.net.au/~reiter/e2compr/index.html ).

    We have introduced the structure of "cluster of pages", as there was the structure of "cluster of blocks" in previous version. The compression unit is now the cluster of pages.

    The implementation is similar to the 2.2 version. If the needed page needed is not present in memory, the cluster of pages which includes it  is decompressed.
    But with 2.4 kernel, pages and blocks have a common area for data. If a block is read from the device, the corresponding page is also modified. Then to decompress a cluster we should not read the blocks in the already used pages (decompressed) of the cluster. These pages can have been modified or can be used by another process (mapping). If a page is UPTODATE, a new one is allocated to decompress the cluster, and is freed after that.

    We have only conducted some tests on i386 architecture, so be careful, especially on other architecture, and if pages are large and can belong to two different clusters.

    For more information about e2compress go to http://www.netspace.net.au/~reiter/e2compr/index.html .

    We also have adjusted the e2fsprogs patch for the version 1.25 .


Back to main

Last modification : Mon Jun  3 14:18:33 MEST 2002

maintainer