)]}'
{
  "log": [
    {
      "commit": "7e7d149e92b65080ff9976715cb5ecbbb8897dbb",
      "tree": "c1a628b50a3658227ed8b8f4f4f5af699df86f93",
      "parents": [
        "b735a1d246336674d5c7c1bd213593ad9ae42113"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Feb 05 11:57:16 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Feb 05 11:57:16 2024 +0100"
      },
      "message": "ext2: Restore Size attribute, keep it along Object_Size\n"
    },
    {
      "commit": "b735a1d246336674d5c7c1bd213593ad9ae42113",
      "tree": "284c337f1ba2a3341f1109364dedb864107ba056",
      "parents": [
        "4210fccae3dc0d63de7da6105dfb9a8317d1a9fa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Feb 05 11:43:12 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Feb 05 11:43:12 2024 +0100"
      },
      "message": "ext2: Relax initialization in Read()\n"
    },
    {
      "commit": "4210fccae3dc0d63de7da6105dfb9a8317d1a9fa",
      "tree": "b6c51e5527fc074b86488e6dbd1a5644dfd9b246",
      "parents": [
        "f9ab868f4c62da314435e9cc5317d22131e52d58"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 16:33:47 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 16:33:47 2024 +0100"
      },
      "message": "isofs: Assist proofs\n"
    },
    {
      "commit": "f9ab868f4c62da314435e9cc5317d22131e52d58",
      "tree": "91f06b73f59f5758be9e35b7ba83a9c5688a283a",
      "parents": [
        "32f19279a00a61cd9ccbc4333d047ce25f1cea26"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 16:32:02 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 16:32:02 2024 +0100"
      },
      "message": "FILO: Check overflow when converting unsigned to signed\n"
    },
    {
      "commit": "32f19279a00a61cd9ccbc4333d047ce25f1cea26",
      "tree": "be60300d52b5018be215f850a1d34c4c3999bae6",
      "parents": [
        "995779ca1b324d2ba3f0a43cea227419353d1f02"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 15:12:29 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 15:12:29 2024 +0100"
      },
      "message": "FILO: Fix pre-coditions of Read_LE16/32\n"
    },
    {
      "commit": "995779ca1b324d2ba3f0a43cea227419353d1f02",
      "tree": "0d8ec3843dbb1c574b95f27b35bfa1cb36d9963c",
      "parents": [
        "dccd234fa05768c75167b2706af62f0e3230956d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 15:12:05 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 15:12:05 2024 +0100"
      },
      "message": "FILO: Pack buffers (for safe unchecked conversions)\n"
    },
    {
      "commit": "dccd234fa05768c75167b2706af62f0e3230956d",
      "tree": "06a4f6245beea37735feb97b1ef9df248f33971c",
      "parents": [
        "a6d6315b46c3847f0a65e7e0cd5a5744d1e995a2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 14:52:20 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 29 14:52:20 2024 +0100"
      },
      "message": "vfs mock: Proble nullfs last\n"
    },
    {
      "commit": "a6d6315b46c3847f0a65e7e0cd5a5744d1e995a2",
      "tree": "50306271d551de4efa835a3a3e6d13ba46ca1a5e",
      "parents": [
        "cc960f2580843e2341e41ffba99f823f956e141d"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Jan 29 13:43:40 2024 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Jan 29 13:43:59 2024 +0000"
      },
      "message": "Add NullFS\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "cc960f2580843e2341e41ffba99f823f956e141d",
      "tree": "1bb491773f5f661123181c4fcc74083c68abaa2d",
      "parents": [
        "b50290f0f28649f902cdafdcd04eee157ba96083"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 29 01:13:45 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Mon Jan 29 01:14:30 2024 +0100"
      },
      "message": "Start ISO9660 support\n"
    },
    {
      "commit": "b50290f0f28649f902cdafdcd04eee157ba96083",
      "tree": "cc591e8415a2f79a9eba01ac2cb91fd07e8c0e64",
      "parents": [
        "b18c2ccc4250914e0c5abef211de267eaad2e408"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:30:49 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:34:49 2024 +0100"
      },
      "message": "ext2: Drop redundant initialization (Blockdev.Read handles it now)\n"
    },
    {
      "commit": "bc6d631cb98b3a72f574f093de374d7df5946e34",
      "tree": "b111907e330ddcd23e13253eb15f6c6ff5be51b9",
      "parents": [
        "e5855e9f69e6d6d4c306d04d53eace61f8e6cc58"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 13:58:55 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "Add alternative main() for a simple `cat\u0027 program\n"
    },
    {
      "commit": "e5855e9f69e6d6d4c306d04d53eace61f8e6cc58",
      "tree": "fa0179c349bc91af504ee79e0affc6973726a0a8",
      "parents": [
        "566c8863c16b082911750e79fe01456e6109f4fd"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 13:52:19 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "vfs mock: Allow paths without leading /\n\nWe\u0027re not doing device names and FILO would only check for the leading\nslash to distinguish the path from the device name. Otherwise, if a\ndevice name is given, FILO would allow paths without leading slash. So\nallow that, too, as it also eases test scripting.\n"
    },
    {
      "commit": "566c8863c16b082911750e79fe01456e6109f4fd",
      "tree": "b4157dccb7ae3c87fbdeb8036c424f78f88523b8",
      "parents": [
        "75e20b57b2efed2f8bfdec4f2f2575c55cd72b5e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 04:02:59 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Allow to open `root\u0027 as a subdirectory\n\nThis is useful to follow `..\u0027 directory entries.\n"
    },
    {
      "commit": "75e20b57b2efed2f8bfdec4f2f2575c55cd72b5e",
      "tree": "0b291f9b18a2e2c0d4f0dccd07a0643f24de1cab",
      "parents": [
        "ea1de111d923628e4ef370040553668ddfa55ff9"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 02:14:33 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Ignore physical 0 pointers in ext2 block map\n\nPointers can be 0 in sparse files. So far we actually followed them,\nreading block 0 (which happened to be all 00, so we also returned\n0 in the end).\n"
    },
    {
      "commit": "ea1de111d923628e4ef370040553668ddfa55ff9",
      "tree": "558a12b0ecc1107b707105ac500bf7f70abb299c",
      "parents": [
        "4f366b3ff7e07a75ff77e4c5fb5f18b59c1a6723"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 27 18:52:12 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Cache physical location of current content block\n"
    },
    {
      "commit": "4f366b3ff7e07a75ff77e4c5fb5f18b59c1a6723",
      "tree": "0eece5f018dbe4b3d2181642b3c2df075c0db7fc",
      "parents": [
        "767608d6916535e62bfd3bc8a2ec086225b13f01"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 27 19:02:36 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Support gaps in extents for sparse files\n"
    },
    {
      "commit": "767608d6916535e62bfd3bc8a2ec086225b13f01",
      "tree": "50793db8ccd0bc3a5a6cdd34705c799c9d31690e",
      "parents": [
        "29e1ba2343ca0d5094a37c8458186911d080692a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 27 18:47:05 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Ensure the directory walk progresses\n"
    },
    {
      "commit": "29e1ba2343ca0d5094a37c8458186911d080692a",
      "tree": "2881c5edc849bd0879d68a618752d74211a9ad15",
      "parents": [
        "bc4f7e92a6016f139d3b45c2d0a2e56760c5efdb"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 27 18:45:32 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Check maximum extent length\n\nHigher length values mean the blocks are only pre-allocated /\nuninitialized.\n"
    },
    {
      "commit": "bc4f7e92a6016f139d3b45c2d0a2e56760c5efdb",
      "tree": "acfc2330f3012b051bc7579260057c56715ed61a",
      "parents": [
        "d55fa51d8c7cdd22b0fba295e2e0e4fc1ad3234f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Jan 27 01:59:54 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "ext2: Fix typo in extent-header magic\n"
    },
    {
      "commit": "d55fa51d8c7cdd22b0fba295e2e0e4fc1ad3234f",
      "tree": "9feaf4354890e4985b0ff0c756030c0cce3ccbed",
      "parents": [
        "3603eaa68ac81780850c8988294f0008f12cb6a3"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 23:54:43 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "main: Use `z\u0027 format modifier\n"
    },
    {
      "commit": "3603eaa68ac81780850c8988294f0008f12cb6a3",
      "tree": "7498628706c5657821bec0811f0b836736fefef6",
      "parents": [
        "6fb3854e17ef08b93f422057f2a31c3b0bdf26fa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 23:53:46 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "nullfs: Use constants where possible\n"
    },
    {
      "commit": "6fb3854e17ef08b93f422057f2a31c3b0bdf26fa",
      "tree": "eab578431bfe3fa2052a445c2d36d25f43c53d37",
      "parents": [
        "be9ca52ae81e73556d85fa774d50e13447e2925e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 23:53:17 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "Justify warnings about unnecessary checks in 64-bit builds\n"
    },
    {
      "commit": "be9ca52ae81e73556d85fa774d50e13447e2925e",
      "tree": "3ab45c558f1600cbdad4b50a5a5f76d24023e82b",
      "parents": [
        "6bef9240ee36bd9606aaa2443b398744d9626c8f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 23:52:24 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:25:01 2024 +0100"
      },
      "message": "Drop redundant with/use clauses\n"
    },
    {
      "commit": "6bef9240ee36bd9606aaa2443b398744d9626c8f",
      "tree": "1d7220aeca3816a9715a8cfb12eac3a563ffd8ee",
      "parents": [
        "43af31ffa505a6a2b2a065e12e2e1941fa68fa98"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 23:47:49 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Jan 28 14:24:59 2024 +0100"
      },
      "message": "ext2: Simplify block cache\n\nThe original idea to additionally speed up the block mapping procedures\nwould need more complex code. And it would help in special cases (uncom-\nmon block sizes) anyway. So we use a rather simple strategy: Cache at\nmost a single block of file contents, a single inode block and a single\ngroup block. All other potentially available cache space would be used\nfor the block mapping.\n"
    },
    {
      "commit": "43af31ffa505a6a2b2a065e12e2e1941fa68fa98",
      "tree": "3f9fdaf84459997fb8cb776abf08d918d6c29ed0",
      "parents": [
        "d7001cf03b81330f6f41ed70b778f9465c0ca4ed"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 22:33:47 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Jan 26 22:33:47 2024 +0100"
      },
      "message": "ext2: Only read interesting part of the superblock\n"
    },
    {
      "commit": "d7001cf03b81330f6f41ed70b778f9465c0ca4ed",
      "tree": "17ef184e39fd5a5b4a7f6030b2b97c2bacc674f6",
      "parents": [
        "f646c8e09cec53da8f3100a1a6b5574f40d5dc37"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:26:49 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:26:49 2024 +0100"
      },
      "message": "Add some file-dumping tests\n"
    },
    {
      "commit": "f646c8e09cec53da8f3100a1a6b5574f40d5dc37",
      "tree": "323cae0408d6c16430e75b56ab8f7517a1fa4068",
      "parents": [
        "9775da287ab86d01b7657dce5b1b4dc4553bcdfe"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:24:57 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:24:57 2024 +0100"
      },
      "message": "main(): Initialize options struct\n\nget_options() expects `-\u003edevname \u003d\u003d NULL`.\n"
    },
    {
      "commit": "9775da287ab86d01b7657dce5b1b4dc4553bcdfe",
      "tree": "c3686ed83e40084823fd8652b2377b12cbd033e1",
      "parents": [
        "fcd5f0e1c8ad29f2e58d798f10856920266f723e"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:23:47 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:23:47 2024 +0100"
      },
      "message": "main(): Call adainit()/adafinal()\n"
    },
    {
      "commit": "fcd5f0e1c8ad29f2e58d798f10856920266f723e",
      "tree": "cdc326667e98475a97b6d41efacea0bcb325755a",
      "parents": [
        "43314489225afec6964e54a18b449efd8ef06651"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:22:29 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:22:29 2024 +0100"
      },
      "message": "Hook ext2fs up in vfs.c\n"
    },
    {
      "commit": "43314489225afec6964e54a18b449efd8ef06651",
      "tree": "cf635292770b44f932160d71f0068c18de57bfe5",
      "parents": [
        "f01abce7c05d89259743f753ba2b6c352e3ae7b0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:19:33 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:21:31 2024 +0100"
      },
      "message": "FILO.FS.VFS: Close currently open file before opening new one\n\nThis is what FILO\u0027s current behavior implies (-\u003eclose_func doesn\u0027t\nget called).\n"
    },
    {
      "commit": "f01abce7c05d89259743f753ba2b6c352e3ae7b0",
      "tree": "2879eda4ce7f06629b9a5b8543d004ad2b23a3a3",
      "parents": [
        "a68ee40e5d10bc5f41842e38fde2471f4d3fb6bf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:18:33 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:18:33 2024 +0100"
      },
      "message": "FILO.Blockdev.Read: Call devread() (not devopen())\n"
    },
    {
      "commit": "a68ee40e5d10bc5f41842e38fde2471f4d3fb6bf",
      "tree": "c6aaf41eaaf7b184c319adf80034b3200bc19624",
      "parents": [
        "a0b1178f569275912d7cf7c9af6eb4c03d14995a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:17:36 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 23 16:17:36 2024 +0100"
      },
      "message": "Fix devread(): fread() returns the number of elements, not bytes\n"
    },
    {
      "commit": "936a9d81027d4788105f2b0161d8d72118fb7435",
      "tree": "19b2650f3731065e9bfdacf8ba65d1d0844d33b3",
      "parents": [
        "68ed36ed37c4ab45f877dd02e28a9cda705b4f9b"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Jan 22 11:52:39 2024 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Jan 22 11:52:39 2024 +0000"
      },
      "message": "Fixup :/ due to wrong signature\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "68ed36ed37c4ab45f877dd02e28a9cda705b4f9b",
      "tree": "cfba73e0966fac48170e606c590f92045ea2f471",
      "parents": [
        "53df7851a3f5218c6b00a700a3c030768132a752"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Jan 22 11:43:54 2024 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Jan 22 11:46:38 2024 +0000"
      },
      "message": "Blockdev: Buffer needs only to be of type out\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "53df7851a3f5218c6b00a700a3c030768132a752",
      "tree": "f35132b66c7ce4009ee46a812a0ad7a92d51c6de",
      "parents": [
        "e5d7c0ea229a937455ca56eb76f43bc6d72e55af"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 15 18:36:04 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 15 18:36:04 2024 +0100"
      },
      "message": "ext2: Somewhat finish proofs\n"
    },
    {
      "commit": "e5d7c0ea229a937455ca56eb76f43bc6d72e55af",
      "tree": "557afcd83537b108b74806ebf9c14a6ef6ff863c",
      "parents": [
        "fe260325e21004f024370aadb29e2f643977ebc2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 18:53:13 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 18:53:13 2024 +0100"
      },
      "message": "ext2: Re-work file-name version of Open() to ease proving\n"
    },
    {
      "commit": "fe260325e21004f024370aadb29e2f643977ebc2",
      "tree": "0c4cde0d4cad038dc7567d4a9bfbc4749c5aecc6",
      "parents": [
        "eb012078a37073e99ac2bd297050f5a0ec941f47"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 17:59:57 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 18:00:20 2024 +0100"
      },
      "message": "ext2: Use unnecessarily big range type to ease proving\n"
    },
    {
      "commit": "eb012078a37073e99ac2bd297050f5a0ec941f47",
      "tree": "a4dfc4b9f1188b32346d0b3935d0588f67617a00",
      "parents": [
        "7eb569254a611a81fa47344b76c5db0fd8b7c407"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 17:56:24 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 17:56:24 2024 +0100"
      },
      "message": "ext2: Finish round of proofs for inode version of Open()\n\nOnly things left that could possibly be shown with a predicate\non Mount_State.\n"
    },
    {
      "commit": "7eb569254a611a81fa47344b76c5db0fd8b7c407",
      "tree": "f0b52db238211e2df10d1c08410233a48a78f071",
      "parents": [
        "71f9ca05179a8d42ea45259a3339484cdf3df29a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 17:22:54 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 17:22:54 2024 +0100"
      },
      "message": "ext2: Factor inode-group deserialization out\n"
    },
    {
      "commit": "71f9ca05179a8d42ea45259a3339484cdf3df29a",
      "tree": "6fb5d7f27631cd9381d5bf508b3f87b5a34578dc",
      "parents": [
        "925326e54482f30f77be80d475f7d69a10ab78db"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 15:38:49 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 17:07:53 2024 +0100"
      },
      "message": "ext2: Factor inode deserialization out\n"
    },
    {
      "commit": "925326e54482f30f77be80d475f7d69a10ab78db",
      "tree": "d27fb91caa50c30ca543e2ae6e7fb5c5d1c37390",
      "parents": [
        "39f086c254b5f8757a569d475ca957b4ea18ff99"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 18:46:26 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Jan 10 15:38:13 2024 +0100"
      },
      "message": "ext2: Adjust inode version of Open() to ease proof\n"
    },
    {
      "commit": "39f086c254b5f8757a569d475ca957b4ea18ff99",
      "tree": "8a44f0b9a985c7804b49c765212edead8ce221cc",
      "parents": [
        "ecafb8f3b43b72cac2dea3ba39a419d6d4d66ccf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 17:43:06 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 17:43:06 2024 +0100"
      },
      "message": "ext2: Restrict range of First_Data_Block\n"
    },
    {
      "commit": "ecafb8f3b43b72cac2dea3ba39a419d6d4d66ccf",
      "tree": "453b8653c0787b4e2b511e14a889b3bd6758417b",
      "parents": [
        "1db9193bcf0def74b13224f23ca0fb767c938a30"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 15:45:49 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 17:41:33 2024 +0100"
      },
      "message": "ext2: Pre-compute Inodes_Per_Block \u0026 Desc_Per_Block\n\nEases proving that they are in range.\n"
    },
    {
      "commit": "1db9193bcf0def74b13224f23ca0fb767c938a30",
      "tree": "76ed8ea10427cffd8a5165e20651bdce5e5f0bea",
      "parents": [
        "52f4c8d4d790aa18c6f70c63632e13573cd3049d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 16:58:26 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 17:34:57 2024 +0100"
      },
      "message": "ext2: Adjust Extent_Block_Map() to ease proof\n"
    },
    {
      "commit": "52f4c8d4d790aa18c6f70c63632e13573cd3049d",
      "tree": "4d51269f5c7cec3d392f3f1c6681bca2278c2372",
      "parents": [
        "96a0b0ebedc254be2b2915d8a449b6c4fae0ca93"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 13:57:33 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Jan 09 16:49:01 2024 +0100"
      },
      "message": "ext2: Further split our state record\n\nTo assist proving that the metadata doesn\u0027t change.\n"
    },
    {
      "commit": "96a0b0ebedc254be2b2915d8a449b6c4fae0ca93",
      "tree": "06d2afeda773e388f21630b67e9b81ecb8222fb6",
      "parents": [
        "6710c0e32e411cbb12c0ac3a519cc6a73132f9e6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:57:09 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:59:03 2024 +0100"
      },
      "message": "ext2: Help proof of extent lookup\n"
    },
    {
      "commit": "6710c0e32e411cbb12c0ac3a519cc6a73132f9e6",
      "tree": "efcd837e2a4029e9da9d2ffff6edd6f39ddfb181",
      "parents": [
        "5a042fd263a56df4cf12cc637e76599d71bb525b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:56:24 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:59:02 2024 +0100"
      },
      "message": "ext2: Fix binary extent search and help proof\n"
    },
    {
      "commit": "5a042fd263a56df4cf12cc637e76599d71bb525b",
      "tree": "a79a99b2adebbf159fe7090d85649ea8888e44db",
      "parents": [
        "700a411afa61504be84c9b64bfe45b491ccd3780"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:54:57 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:59:01 2024 +0100"
      },
      "message": "ext2: Adapt to satisfy some checks\n"
    },
    {
      "commit": "700a411afa61504be84c9b64bfe45b491ccd3780",
      "tree": "08769d1647318e8f419af2b323dcdba7d568114c",
      "parents": [
        "3da21473e64edea35dadb10f7b7b663f3816cc8a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:50:09 2024 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Jan 08 15:59:01 2024 +0100"
      },
      "message": "ext2: Introduce State.Block_Size\n"
    },
    {
      "commit": "3da21473e64edea35dadb10f7b7b663f3816cc8a",
      "tree": "83c450fa126d24afb25a1dc9d01db1dedc090409",
      "parents": [
        "89d0594709a30f9f9998980351a9cd03bd9a5c3a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 18 15:43:35 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 18 15:44:15 2023 +0100"
      },
      "message": "VFS: Satisfy GNATprove and No_Secondary_Stack\n"
    },
    {
      "commit": "89d0594709a30f9f9998980351a9cd03bd9a5c3a",
      "tree": "54dd006f3cf0269d8228c2e6736dd17076d9af93",
      "parents": [
        "21d42022f7499a50f5e09552b336d05bcd720bc7"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 18 12:12:00 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 18 12:12:00 2023 +0100"
      },
      "message": "ext2: Add missing default value for Inode.I\n"
    },
    {
      "commit": "21d42022f7499a50f5e09552b336d05bcd720bc7",
      "tree": "d5147bd4c6e797570c2d96f0fd89d5cff76f37ba",
      "parents": [
        "b1cb2d348d22ade0500757e4bc9eeaa0eef5ac0a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Dec 16 02:50:22 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 17 03:02:26 2023 +0100"
      },
      "message": "Implement Ext2.Open()\n"
    },
    {
      "commit": "b1cb2d348d22ade0500757e4bc9eeaa0eef5ac0a",
      "tree": "f2ce18803baba50ce1486095540dc731f7fcc36d",
      "parents": [
        "549a1b88f3e1305eb3ed5dd851029346b6c31d24"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 17 01:45:47 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 17 03:02:26 2023 +0100"
      },
      "message": "Re-invent FS.VFS.Open()\n\nHandle the path traversal and symbolic links in VFS.Open(). For each\npath component, query the file type (directory, regular file, or\nsymbolic link) from the FS driver and act accordingly.\n"
    },
    {
      "commit": "549a1b88f3e1305eb3ed5dd851029346b6c31d24",
      "tree": "ed3426890b117e74a71c900e69299a46f0866f2e",
      "parents": [
        "d3644be257427e85d028f88b12240460aa3c2faa"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 17 01:51:59 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 17 03:02:26 2023 +0100"
      },
      "message": "Drop `File_Len` from VFS.Read()\n\nThe `File_Len` is never supposed to change outside the FS driver.\n"
    },
    {
      "commit": "d3644be257427e85d028f88b12240460aa3c2faa",
      "tree": "08dd12c9262ce9f1baf9c8caeec8461294b2a1b4",
      "parents": [
        "022e22658917ffb09ef67902f11fdebce5eca501"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Dec 16 01:43:00 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sun Dec 17 03:02:17 2023 +0100"
      },
      "message": "Implement Ext2.Read()\n"
    },
    {
      "commit": "022e22658917ffb09ef67902f11fdebce5eca501",
      "tree": "84cbcd672ec69035e2f6bc8bf1f8779dbb010732",
      "parents": [
        "7403a541b54d381b1ac59d05ff40e9f85c618112"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 15 23:15:17 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Sat Dec 16 00:25:22 2023 +0100"
      },
      "message": "ext2: Read inode type and length\n"
    },
    {
      "commit": "7403a541b54d381b1ac59d05ff40e9f85c618112",
      "tree": "c49165a2043577b6eeeb8955d8e25c561c42b622",
      "parents": [
        "1f3825ef03c6e890afe536ddbd4877f1b2e757fe"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 15 23:13:47 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Fri Dec 15 23:13:47 2023 +0100"
      },
      "message": "ext2: Rename Inode.Extents \u003d\u003e Inode.Inline\n"
    },
    {
      "commit": "1f3825ef03c6e890afe536ddbd4877f1b2e757fe",
      "tree": "f36d87cea5a572470f29fa60889a82581c3d1c70",
      "parents": [
        "22173223f4d561746631bbe7099cd01293533e3f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:05:20 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "Disable SPARK_Mode for use of \u0027Address\n"
    },
    {
      "commit": "22173223f4d561746631bbe7099cd01293533e3f",
      "tree": "5abe5f9c3fc2a1d77d02540baadaffbae2ddc915",
      "parents": [
        "cdc0351958b431adb1fe9fa39f6f21c63214d62f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:02:03 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "Work around gnatprove trouble with \u003e64-bit range type\n"
    },
    {
      "commit": "cdc0351958b431adb1fe9fa39f6f21c63214d62f",
      "tree": "4989a06382d92ce06cb28936be6eb72af1a114d8",
      "parents": [
        "57dfbfb7ece2157afddf53dab2f14513093d233b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 23:32:54 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "ext2: Implement Open() for an inode by number\n"
    },
    {
      "commit": "57dfbfb7ece2157afddf53dab2f14513093d233b",
      "tree": "4d0363cbb657d3cc32df0c3a0427aa5a6bcd0cde",
      "parents": [
        "f83364ad3b537417f3870fd464844537d426b567"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 23:24:16 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "ext2: Distinguish physical (always valid) and logical (per file) cached blocks\n"
    },
    {
      "commit": "f83364ad3b537417f3870fd464844537d426b567",
      "tree": "9aa1374caef0d08e89222ef34a2fd11bbed38ed1",
      "parents": [
        "33f6d9517e99fbebc13fc587dba00b9576629600"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 23:17:13 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "Implement Is_Space()\n"
    },
    {
      "commit": "33f6d9517e99fbebc13fc587dba00b9576629600",
      "tree": "66a7776170daca2ddf9fb9e3b387c295b3bc6da6",
      "parents": [
        "77a04d738b4aff9097b590f96c36665fa2faec88"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 23:16:42 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "ext2: Better organize per inode info\n"
    },
    {
      "commit": "77a04d738b4aff9097b590f96c36665fa2faec88",
      "tree": "03c29ec31ab724d21dbdc75e5bd285c97e72b7f9",
      "parents": [
        "cd1d5f723e96cc425bd0ce5fb382c1bd092cb54d"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 23:11:40 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "ext2: Make Feature_64Bit more strict\n"
    },
    {
      "commit": "cd1d5f723e96cc425bd0ce5fb382c1bd092cb54d",
      "tree": "93eddefa17efb5ee44f3308d3eb6146ae043dbac",
      "parents": [
        "0496d891778d546ef6c9ae4cc996bc6495f267ba"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 16:01:43 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "Tune ext2 types\n"
    },
    {
      "commit": "0496d891778d546ef6c9ae4cc996bc6495f267ba",
      "tree": "ce7d548fc07f0fccaf493cbaece831c6eb75e86f",
      "parents": [
        "c4c7a5e6bc730c4a1befc9470d7cc06adfc5a1fc"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Wed Dec 13 16:00:22 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:59 2023 +0100"
      },
      "message": "Add Is_Power_Of_2 functions\n"
    },
    {
      "commit": "c4c7a5e6bc730c4a1befc9470d7cc06adfc5a1fc",
      "tree": "c7d807cdfdf17c33d07b70c226db3be2a863bfbc",
      "parents": [
        "fffc8c121d0748c91f9aca40e5e94c0e0bbfd9e0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:56 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Dec 14 00:08:56 2023 +0100"
      },
      "message": "ext2: Fix off-by-one\n"
    },
    {
      "commit": "fffc8c121d0748c91f9aca40e5e94c0e0bbfd9e0",
      "tree": "292e522de7981c5e1aad17906be123affd1920af",
      "parents": [
        "68c8693fb125aaf1b32e4950bddfe1dc87069833"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 13 12:44:12 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 13 12:44:33 2023 +0100"
      },
      "message": "Implement Extent_Block_Map for ext4 extents\n"
    },
    {
      "commit": "68c8693fb125aaf1b32e4950bddfe1dc87069833",
      "tree": "abd325b86ecec850e3c1c2a0d295acea989b7b6b",
      "parents": [
        "fe89712a8ba6cd593693fdbe0f4495b717a63056"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 13 11:03:11 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Wed Dec 13 11:03:11 2023 +0100"
      },
      "message": "ext2: Extract Cache_FSBlock procedure\n"
    },
    {
      "commit": "fe89712a8ba6cd593693fdbe0f4495b717a63056",
      "tree": "57e74594f57a41fba5a9e759a8f21f53f213c063",
      "parents": [
        "6623c989b2f8d13133716bc4a3ec5e27c260ef9b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 21:33:36 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 12 21:33:36 2023 +0100"
      },
      "message": "ext2: Use a more generic cache index\n"
    },
    {
      "commit": "6623c989b2f8d13133716bc4a3ec5e27c260ef9b",
      "tree": "f247df27f1caaf72b01398c8e155cebf64d85ae1",
      "parents": [
        "9072090bd2c225971476eba313eaca71e9fb8db5"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 16:35:46 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 16:38:54 2023 +0100"
      },
      "message": "First version of Ext2_Block_Map\n"
    },
    {
      "commit": "9072090bd2c225971476eba313eaca71e9fb8db5",
      "tree": "325772963ae7297efa25fa7732e4fdf6be7aa7ff",
      "parents": [
        "f5d99d08eed074a02f199d701870508edd23c672"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 16:03:30 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 16:03:30 2023 +0100"
      },
      "message": "Fix Read_LE16/32 for array slices\n"
    },
    {
      "commit": "f5d99d08eed074a02f199d701870508edd23c672",
      "tree": "1c0a763f8cb8a77d5e9a014f0ea3166c9c9a7ee7",
      "parents": [
        "7f61349496f2a62526691693bf4549fc05165e90"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:42:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:43:12 2023 +0100"
      },
      "message": "Implement Ext2.Read_FSBlock\n"
    },
    {
      "commit": "7f61349496f2a62526691693bf4549fc05165e90",
      "tree": "02bf612459ff74b89c9bb5fbfd4cf77c27184f5b",
      "parents": [
        "a529660941fb48c7b7fdb310f7241927b6af18a6"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:32:06 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:36:11 2023 +0100"
      },
      "message": "Use BLOCK_SIZE\n"
    },
    {
      "commit": "a529660941fb48c7b7fdb310f7241927b6af18a6",
      "tree": "dae40920ffdca66b8fc8d41f502093cf6567d1e2",
      "parents": [
        "9c0418709b02d54aaae15b6e6f04bcc50243ec1b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:30:31 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:35:56 2023 +0100"
      },
      "message": "Prepare Blockdev for 32-bit longs\n"
    },
    {
      "commit": "9c0418709b02d54aaae15b6e6f04bcc50243ec1b",
      "tree": "83099c7e657d0d73141171ed1415ada036c9c779",
      "parents": [
        "481ff84525693998630a211b4bb6f9c828a877c1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:24:55 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:24:55 2023 +0100"
      },
      "message": "Introduce Blockdev_Length/_Offset\n"
    },
    {
      "commit": "481ff84525693998630a211b4bb6f9c828a877c1",
      "tree": "65def95bf3def87973fd179cca04bb637a3aea59",
      "parents": [
        "5182037ce59b00a5620a9848433eaec8dcf5f8ce"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:19:49 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Tue Dec 12 13:19:49 2023 +0100"
      },
      "message": "Move shared types into FILO package\n"
    },
    {
      "commit": "5182037ce59b00a5620a9848433eaec8dcf5f8ce",
      "tree": "bb3f1cf394e0ae0dcc8537fd599ccc32b87044a6",
      "parents": [
        "5c43abcc6371eef6dce041f0251359e0037d5ae3"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 11 15:29:17 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 11 15:29:17 2023 +0000"
      },
      "message": "Add NullFS\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "5c43abcc6371eef6dce041f0251359e0037d5ae3",
      "tree": "c6a2c32486c47bc9995cd05b31c3cb5e9660d746",
      "parents": [
        "a968f6f4e50c3c231a75e2a04ad47d6be909e241"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 11 15:24:36 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 11 15:29:03 2023 +0000"
      },
      "message": "Move fs-filo to filo-fs\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "a968f6f4e50c3c231a75e2a04ad47d6be909e241",
      "tree": "6f9a4a3d66d42d55a02c2ec1d993f5221ebd2b68",
      "parents": [
        "26f7183064caa8435e33f3a0a1f6330ad65718b6"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 11 09:40:06 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 11 09:40:06 2023 +0000"
      },
      "message": "add Ada wrapper for C_devread\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "26f7183064caa8435e33f3a0a1f6330ad65718b6",
      "tree": "1fb81446438f025d0201065c31e3bf0d06d1ede8",
      "parents": [
        "8ec45a1aba4b83c52c1f1bec93bbb66310cc5608"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 05 16:26:56 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Tue Dec 05 17:32:38 2023 +0100"
      },
      "message": "FS.FILO.Ext2: Fill Mount() procedure\n"
    },
    {
      "commit": "8ec45a1aba4b83c52c1f1bec93bbb66310cc5608",
      "tree": "6b552866722865a117771eb36ad6bd81f3fe3dd1",
      "parents": [
        "2f4d59768188bbec4e855b0bd5ba7463aed44579"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 17:11:08 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 17:11:08 2023 +0100"
      },
      "message": "FS.FILO.Ext2: Export C functions\n"
    },
    {
      "commit": "2f4d59768188bbec4e855b0bd5ba7463aed44579",
      "tree": "9d509f5fad0e5b3863508591c1076720f7d07a09",
      "parents": [
        "57d3a857facc4eaa7e939740b1c24ca81829e591"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 04 15:36:56 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 04 15:36:56 2023 +0000"
      },
      "message": "VFS: add \u003c\u003e to generics\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "57d3a857facc4eaa7e939740b1c24ca81829e591",
      "tree": "c71dc17d2a97312f65240490de3089386f1f4860",
      "parents": [
        "3e722829493581e938aa82c1d97c8f432037ea1a"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:42:40 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:42:40 2023 +0100"
      },
      "message": "FS.FILO.Ext2: Update stubs\n"
    },
    {
      "commit": "3e722829493581e938aa82c1d97c8f432037ea1a",
      "tree": "c882bc89d7799549155587744a13aa32bf9a3d47",
      "parents": [
        "cd6b7ec5b1b39d9b4fe48954921810a7e916dc03"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:27:40 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:27:40 2023 +0100"
      },
      "message": "FS.FILO: Add Partition_Offset type\n"
    },
    {
      "commit": "cd6b7ec5b1b39d9b4fe48954921810a7e916dc03",
      "tree": "f14dacbfcc562a3d9ed2a88115ae20a57b128d1f",
      "parents": [
        "f983931767e2beb648b86f3620941e444943d1bf"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:21:26 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:21:26 2023 +0100"
      },
      "message": "FS: Add pre-conditions for deserialization functions\n"
    },
    {
      "commit": "f983931767e2beb648b86f3620941e444943d1bf",
      "tree": "cc43dccd1ee0bd8c5dd64d8a7928366fde9ebec1",
      "parents": [
        "3ec689d9c900e988018a992f5e84d8aa06190bb0"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:20:43 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 15:20:43 2023 +0100"
      },
      "message": "FS.FILO: Allow File_Offset of full File_Length\n"
    },
    {
      "commit": "691220d9ce83aeaa104bd144f7e31ef6f94e5ba9",
      "tree": "a2f08efc2c8261ef19834369eb235ce9cef65ba6",
      "parents": [
        "51f604179f7134f184e1f97e4e863d6b044986e4"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 14:54:01 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 14:54:01 2023 +0100"
      },
      "message": "FS.FILO.VFS: Move `Convention \u003d\u003e C` to spec\n"
    },
    {
      "commit": "51f604179f7134f184e1f97e4e863d6b044986e4",
      "tree": "03fc4592778e0659dfa62d3a626a2fe828f8561b",
      "parents": [
        "75d1ff390d4cd891f41475a4336a4cf46d3075fe"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 14:48:11 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Dec 04 14:48:20 2023 +0100"
      },
      "message": "Make VFS wrapper state aware\n"
    },
    {
      "commit": "75d1ff390d4cd891f41475a4336a4cf46d3075fe",
      "tree": "0438a41e7c23ca7b76e654782739767461bbc3ab",
      "parents": [
        "dc1a84bdbc3e892c178322d65e1756cceb3b362f"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 04 13:40:11 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 04 13:40:11 2023 +0000"
      },
      "message": "vfs: Add filo like vfs layer\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "dc1a84bdbc3e892c178322d65e1756cceb3b362f",
      "tree": "add6d3f6a381f3dcdce33d2ab4940b0640e540a4",
      "parents": [
        "98417fca0b8fae85f07185d77ccfbd11ba2e7c09"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 04 13:39:42 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Dec 04 13:39:42 2023 +0000"
      },
      "message": "blockdev: Add missing partition functions\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "98417fca0b8fae85f07185d77ccfbd11ba2e7c09",
      "tree": "b03c237267e7469c461d31fb8425d4b030abecba",
      "parents": [
        "1d7727feb3b7aa3f5600d3ab9d748691f1ef63a1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 30 16:46:25 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 30 16:47:36 2023 +0100"
      },
      "message": "Add Read_LE16/32 and types\n"
    },
    {
      "commit": "1d7727feb3b7aa3f5600d3ab9d748691f1ef63a1",
      "tree": "4e2d5feb258dc27a404e868a398a8c93a377d388",
      "parents": [
        "d49cb12f62f7a9f2f9835787b292f9885ab99bc2"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 30 15:58:46 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.h@gmx.de",
        "time": "Thu Nov 30 15:58:46 2023 +0100"
      },
      "message": "Add stub for FS.FILO.Ext2\n"
    },
    {
      "commit": "d49cb12f62f7a9f2f9835787b292f9885ab99bc2",
      "tree": "91293e5aaf2bde9f64adaf5bab8ef8f94d58955c",
      "parents": [
        "b00b3166219e072b759b2d9855ef5e12d0a75552"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Wed Nov 29 10:03:02 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Wed Nov 29 10:03:02 2023 +0000"
      },
      "message": "Move SPARK_Mode \u003d\u003e Off into body\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "b00b3166219e072b759b2d9855ef5e12d0a75552",
      "tree": "efb3b2c569ba3c48f683c412e92858790e8e89a5",
      "parents": [
        "3a5cd8c01b9517d1c193f62b41f2c1812e9164dd"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Wed Nov 29 10:02:31 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Wed Nov 29 10:02:31 2023 +0000"
      },
      "message": "Use getopt for program parameters\n\nSigned-off-by: Thomas Heijligen \u003csrc@posteo.de\u003e\n"
    },
    {
      "commit": "3a5cd8c01b9517d1c193f62b41f2c1812e9164dd",
      "tree": "d9952cca6416fce0837ac1256072f2a86fa3ebdd",
      "parents": [
        "c6bd3d34192e51464b8410fc81ac6321ee1cfe4f"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 17:38:06 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 17:38:06 2023 +0100"
      },
      "message": "FS.FILO: Add access to globals\n"
    },
    {
      "commit": "c6bd3d34192e51464b8410fc81ac6321ee1cfe4f",
      "tree": "9fa7899528a2bd6259938f6ccd13390497b2471a",
      "parents": [
        "0a9591e2d820c54c0c6bf4e3823ee835dc5d268b"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 17:13:37 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 17:13:37 2023 +0100"
      },
      "message": "Rename FS.FILO \u003d\u003e FS.FILO.Dev\n"
    },
    {
      "commit": "0a9591e2d820c54c0c6bf4e3823ee835dc5d268b",
      "tree": "ea40abe5656e081ff518630dccfd33733bbef270",
      "parents": [
        "fdfa2e2cea2a31aa1a5991cf1e1db57c7af5a923"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 16:59:11 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 16:59:11 2023 +0100"
      },
      "message": "Fill FS.FILO.VFS wrapper\n"
    },
    {
      "commit": "fdfa2e2cea2a31aa1a5991cf1e1db57c7af5a923",
      "tree": "9f5cbb63abc3f0b283328e664f46604d3edd921d",
      "parents": [
        "62268ee9d6381ded49636fa37ea18754f06a2bf1"
      ],
      "author": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 16:26:03 2023 +0100"
      },
      "committer": {
        "name": "Nico Huber",
        "email": "nico.huber@secunet.com",
        "time": "Mon Nov 27 16:26:03 2023 +0100"
      },
      "message": "Start FS.FILO.VFS wrapper\n"
    },
    {
      "commit": "62268ee9d6381ded49636fa37ea18754f06a2bf1",
      "tree": "f7078b464140b955c7e84c3a50bfb1f50ab9314b",
      "parents": [
        "81cf58d7166f46b390e322be3e8a41b21d129243"
      ],
      "author": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Nov 27 15:10:41 2023 +0000"
      },
      "committer": {
        "name": "Thomas Heijligen",
        "email": "src@posteo.de",
        "time": "Mon Nov 27 15:10:41 2023 +0000"
      },
      "message": "Make it compile\n"
    }
  ],
  "next": "81cf58d7166f46b390e322be3e8a41b21d129243"
}
