diff options
author | axtloss <axtlos@getcryst.al> | 2024-02-03 16:25:55 +0100 |
---|---|---|
committer | axtloss <axtlos@getcryst.al> | 2024-02-03 16:25:55 +0100 |
commit | b77083448f096f01036d3e53dfddf0aee39bcd8c (patch) | |
tree | 97bcf591bb986369343a89325ae1fe371b1b54ba /fsverify-paper.md | |
parent | 57e3add2f90ad1900be2e9d1cd8019f6aa5ad440 (diff) | |
download | fsverify-b77083448f096f01036d3e53dfddf0aee39bcd8c.tar.gz fsverify-b77083448f096f01036d3e53dfddf0aee39bcd8c.tar.bz2 |
change header signature and add block checksumming
Diffstat (limited to '')
-rw-r--r-- | fsverify-paper.md | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fsverify-paper.md b/fsverify-paper.md index 82b9cf8..819c422 100644 --- a/fsverify-paper.md +++ b/fsverify-paper.md @@ -2,19 +2,20 @@ 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 -`<magic number> <signature> <filesystem size> <table size> <table unit>` +`<magic number> <untrusted signature hash> <trusted signature hash> <filesystem size> <table size> <table unit>` Field|Size|Purpose|Value -----|----|-------|----- magic number|2 bytes|sanity check|0xACAB -signature|302 bytes|minisign signature| +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 -table size|4 bytes| size of the table in \<table unit\> +table size|4 bytes| size of the table in <table unit\> 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) -The entire Head should be a total of 312 bytes long, reaching from 0x0 to 0x138 +The entire Head should be a total of 199 bytes long, reaching from 0x0 to 0xC7 ## 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` |