Currently the namespace and the block manager are tightly coupled together. There are two couplings in terms of implementation:
1. The BlockInfoContiguous stores a reference of the INodeFile that owns the block, so that the block manager can look up the corresponding file when replicating blocks, recovering from pipeline failures, etc.
1. The INodeFile stores BlockInfoContiguous objects that the file owns.
Decoupling the namespace and the block manager allows the BM to be separated out from the Java heap or even as a standalone process. This jira proposes to remove the first coupling by storing the id of the inode instead of the object reference of INodeFile in the BlockInfoContiguous class.