In current implementation
- BlocksMap references BlockInfo
- INode references Block
- BlockInfo contains a reference to the corresponding Block
It would be better to incorporate Block into BlockInfo and reference the latter everywhere in name-node structures.
This saves 24 bytes per block on a 64-bit jvm as stated in
HADOOP-1687 (5).
I retained the Block class as a structure for external (client and data-node) communication.