You hit the nail on the head. Indeed, variable sized blocks is
what makes a compressed file system harder then a normal files system.
In ACF (automatically compressed format) I am handling this by
allocating what I call mini-blocks to represent the compressed block.
Right now I divide each physical block up into 8 mini-blocks.
Mini-blocks are clustered together into a sector, which is made
up of 8 blocks or 64 mini-blocks.
A compressed block is represented by a sector pointer, and up to 8
mini-blocks which are all allocated within the same sector. An in
core sector map containing the availability of mini-blocks is
maintained for each sector. (This suplements a bit map structure,
which is used to allocate the actual mini-blocks. 1bit for each
miniblock).
A smaller mini-block size might be appropriate, but this is tunable
parameter. I think stacker uses a similar scheme, but there are
16 mini-blocks in a real block.
You can predict the availability of free space by maintaining
the current compression stats;
--
-shawn
Previous message: [thread] [date] [author] Next message: [thread] [date] [author]
Messages in current thread:
Re: Stacker like file system, Shawn Oles, (Mon Aug 31, 4:42 pm)