public static void Format(IBlockStore blockStore, uint blockSize) { if (blockSize % blockStore.BlockSize != 0) { throw new Exception("Virtual BlockSize should be multiple of backend blocksize!"); } var xRawBlockBuff = new byte[blockSize]; var xRawSeg = new ArraySegment<byte>(xRawBlockBuff); ByteConverter.WriteBytes(ODBFSMagic, xRawBlockBuff, 0); ByteConverter.WriteBytes(blockSize, xRawBlockBuff, 4); var xRawBlocksPerVBlock = blockSize / blockStore.BlockSize; var xIds = new ulong[xRawBlocksPerVBlock]; for(uint i = 0; i < xRawBlocksPerVBlock;i++) { xIds[i] = i; } blockStore.Store(xIds, xRawSeg); }