The only other thing to store is the `cluster bitmap', which records which clusters of a file are compressed and which are uncompressed; so in the preceding example, it records that only clusters 0 and 2 are compressed, while cluster 1 is uncompressed.
The first 16 bits of the cluster bitmap are stored in the inode structure on disk. This is enough for most files, but if more is needed then the excess is stored in a separate disk block.
In all versions up to and including the current (e2compr-0.3.6), no more
than one disk block is allocated. If your kernel isn't configured to
use an `indirect bitmap' (i.e. if CONFIG_EXT2_IND_BITMAP
is
undefined) then no disk block at all is allocated to the indirect
bitmap, so only the 16 bits kept in the inode are used.
If the file has more clusters than the cluster bitmap has room for, then the other clusters are stored in uncompressed form.
Go to the first, previous, next, last section, table of contents.