Map < FSVolume , List < Map < Block , DatanodeBlockInfo > > > getBlockCrcPerVolume ( List < FSVolume > volumes ) { Map < FSVolume , List < Map < Block , DatanodeBlockInfo > > > retMap = new HashMap < FSVolume , List < Map < Block , DatanodeBlockInfo > > > ( ) ; for ( FSVolume volume : volumes ) { List < Map < Block , DatanodeBlockInfo > > newSubMap = new ArrayList < Map < Block , DatanodeBlockInfo > > ( numBucket ) ; for ( int i = 0 ; i < numBucket ; i ++ ) { newSubMap . add ( new HashMap < Block , DatanodeBlockInfo > ( ) ) ; } retMap . put ( volume , newSubMap ) ; } for ( BlockBucket bb : blockBuckets ) { bb . getBlockCrcPerVolume ( retMap ) ; } return retMap ; }
get a list of block info with CRC information per FS volume .