Latest Modification: May, 5th 1998
Conclusion: Implemented. Currently, dtfs only deals with logical blocks within the log. If the logical block size is 4kb, all the partial segment headers and the checkpoint block are 4kb in size too. This might waste some space but
On the other hand this greatly simplifies all block offset calculations within the log. Furthermore a "natural" segment size (given by some RAID layout constraints, for example...) will probably be a power of 2 (or maybe other "semi-neat" values like 768kb, so you'll end up rounding up to some 4kb boundary anyways.
And of course you could still use a smaller logical block size (1bk)
Conclusion: Accepted design principle.
Providing extensive tools for recovering a filesystem that suffers from a media failure (e.g. a read errors due to bad blocks on the device) is not something a file system should deal with. -- That's what backups are meant for (or some RAID configruations...)
However, the filesystem should be built in a way that the failure of only one block on the media does not make the file system completely inaccessible.
Christian Czezatke, email: email@example.com