From abd7aba9709a7e05d57861af50f55ce275fb3663 Mon Sep 17 00:00:00 2001 From: axtloss Date: Sat, 3 Feb 2024 17:12:12 +0100 Subject: add storage unit size option in header --- fsverify-paper.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'fsverify-paper.md') diff --git a/fsverify-paper.md b/fsverify-paper.md index 819c422..ba50847 100644 --- a/fsverify-paper.md +++ b/fsverify-paper.md @@ -2,20 +2,21 @@ The FsVerify partition contains a header with the necessary metadata for the filesystem verification, and a bbolt database containing all File and Directory nodes to be checked. ## Partition Header -`
` +`
` Field|Size|Purpose|Value -----|----|-------|----- magic number|2 bytes|sanity check|0xACAB untrusted signature hash|100 bytes|untrusted signature from minisign trusted signature hash|88 bytes|trusted signature from minisign -filesystem size|4 bytes|size of the original filesystem in gb +filesystem size|4 bytes|size of the original filesystem in
+filesystem unit|1 byte|unit of the filesystem size|0x0: bytes, 0x1: kilobytes, 0x2: megabytes, 0x3: gigabytes, 0x4: terabytes, 0x5: petabytes table size|4 bytes| size of the table in
table unit|1 byte|unit of the table size|0x0: bytes, 0x1: kilobytes, 0x2: megabytes, 0x3: gigabytes, 0x4: terabytes, 0x5: petabytes -Due to the filesystem and table size field, which can go up to 0xFFFFFFFF (16777215), the maximum supported partition size and table size is 16777215gb (~16pb) +Due to the filesystem and table size field, which can go up to 0xFFFFFFFF (16777215), the maximum supported partition size and table size is 16777215pb -The entire Head should be a total of 199 bytes long, reaching from 0x0 to 0xC7 +The entire Head should be a total of 200 bytes long, reaching from 0x0 to 0xC8 ## Partition Contents / Database The main database containing the checksums is a [bbolt](https://github.com/etcd-io/bbolt) datbase consisting of a single bucket called `Nodes` @@ -62,7 +63,7 @@ through this, the slightest change in one of the nodes will result in a wrong ha Modified value ``` -The first Node will have `PrevNodeSum` as "Entrypoint" as the PrevNodeSum field is also used to access each node, using EntryPoint allows fsverify to start the verification by always being able to read the first node +The first Node will have `PrevNodeSum` as "Entrypoint" since the PrevNodeSum field is also used to access each node, using EntryPoint allows fsverify to start the verification by always being able to read the first node # Verification Process -- cgit v1.2.3