From 596bd12f5975fe563c3bb260b80b3f8b095c3420 Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Wed, 14 Mar 2018 15:51:02 +0100 Subject: [PATCH] chore(xo-server/vhd): add format cheatsheet --- packages/xo-server/src/vhd-merge.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/packages/xo-server/src/vhd-merge.js b/packages/xo-server/src/vhd-merge.js index 92fc57b53..327c7f79b 100644 --- a/packages/xo-server/src/vhd-merge.js +++ b/packages/xo-server/src/vhd-merge.js @@ -183,6 +183,24 @@ function checksumStruct (rawStruct, struct) { // =================================================================== +// Format: +// +// - Footer (512) +// - Header (1024) +// +// - BAT (batSize @ header.tableOffset) +// - Block i (@ blockOffset(i)) +// - bitmap (blockBitmapSize) +// - data (header.blockSize) +// +// - Footer (512) +// +// Variables: +// +// - batSize = min(1, ceil(header.maxTableEntries * 4)) * sectorSize +// - blockBitmapSize = ceil(header.blockSize / sectorSize / 8 / sectorSize) * sectorSize +// - blockOffset(i) = bat[i] * sectorSize +// - sectorSize = 512 export class Vhd { constructor (handler, path) { this._handler = handler