Bob Bobbio
Bob Bobbio

Reputation: 577

How much do modern filesystems reserve for each block group?

In reading about the Unix FFS, I've read that 10% of the disk space is reserved so that files' data blocks can be ensured to be in the same cylinder group. Is this still true with filesystems like ext2/ext3, is there space reserved so that files' data blocks can all be in the same block group? Is it also 10%? or does it vary? Also, is the same true for journaling filesystems as well? Thank you.

Upvotes: 7

Views: 226

Answers (2)

Dmytro Sirenko
Dmytro Sirenko

Reputation: 5083

My data for fresh ext2 images are:

Size   Block size  Bl/Gr    Total bytes    Free bytes      Ratio
1MB    1024        8192        1048576         1009664     0.03710     
10MB   1024        8192       10485760        10054656     0.04111             
100MB  1024        8192      104857600        99942400     0.04688
512M   4096        32768     536870912       528019456     0.01649
1G     4096        32768    1073741824      1055543296     0.01695
10G    4096        32768   10737418240     10545336320     0.01789

So, it's quite predictable that the space efficiency of an Ext2 filesystem depends on block size due to layout described in the above answer: filesystem is a set of block groups, for each group its size is determined as count of blocks which can be described by a 1-block bitmap => for a 4096 byte block there are 8 * 4096 blocks.

Conclusion: for ext2/ext3 family of filesystems average default consumption of space depends on block size: ~ 1.6 - 1.8 % for 4096 byte blocks, ~ 4 % for 1024 ones

Upvotes: 0

ramrunner
ramrunner

Reputation: 1372

first of all i think that ext filesystems implement the same notion of a cylinder group, they just call it block group. to find out about it , you can fdisk the partition to find your actual block count and blocks/group number .Then the number of block groups = block count / (block/group). They are used in exactly the same way as FFS cgs (to speed up access times). Now journaling IMO has nothing to do with this operation, except that it actually wastes some more space on your disk :). As far as i understand , soft updates which is the BSD solution to the problem that a journal would solve in typical ext filesystems, don't require extra space , but are tremendously complex to implement and add new features on (like resizing). interesting read:

ext3 overhead disclosed part 1

cheers!

Upvotes: 1

Related Questions