示例#1
0
 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);
 }