// get the metadata file
File metafile = new File(pathinfo.getMetaPath());
FileInputStream checksumIn = new FileInputStream(metafile);
checksumInChannel = checksumIn.getChannel();
// read and handle the common header here. For now just a version
BlockMetadataHeader header = BlockMetadataHeader.readHeader(
new DataInputStream(checksumIn), new NativeCrc32());
short version = header.getVersion();
if (version != FSDataset.FORMAT_VERSION_NON_INLINECHECKSUM) {
LOG.warn("Wrong version (" + version + ") for metadata file for "
+ blk + " ignoring ...");
}
checksum = header.getChecksum();
return new BlockReaderLocalWithChecksum(conf, file, blk, startOffset,
length, pathinfo, metrics, checksum, verifyChecksum,
dataFileChannel, dataFileDescriptor, checksumInChannel,
clearOsBuffer, positionalReadMode);