)]}'
{
  "commit": "a6da17176a102f5755fd7289448ca5a9486d8a20",
  "tree": "1142b5acecc39da71fdc107b34e17933bd1935e1",
  "parents": [
    "6120f38e1a10a1389f9413209ea6b6f23be56258"
  ],
  "author": {
    "name": "Jan Schär",
    "email": "jan@monogon.tech",
    "time": "Wed Aug 21 15:12:11 2024 +0200"
  },
  "committer": {
    "name": "Jan Schär",
    "email": "jan@monogon.tech",
    "time": "Tue Sep 10 14:50:21 2024 +0000"
  },
  "message": "osbase/blockdev: add tests, fix minor issues\n\nAdd a lot of bounds checks which should make BlockDev safer to use. Fix\na bug in the ReadWriteSeeker.Seek function with io.SeekEnd; the offset\nshould be added to, not subtracted from the size. Add the Sync()\nfunction to the BlockDev interface.\n\nChange-Id: I247095b3dbc6410064844b4ac7c6208d88a7abcd\nReviewed-on: https://review.monogon.dev/c/monogon/+/3338\nTested-by: Jenkins CI\nReviewed-by: Lorenz Brun \u003clorenz@monogon.tech\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0805ef61dd0e9f97274c1dc3969038908b089d2a",
      "old_mode": 33188,
      "old_path": "osbase/blockdev/BUILD.bazel",
      "new_id": "f476e8bc8905a76f5bfe87049d4fb668ae86926b",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "0e3c6e104e5e4951d6cd3b73a396e491ebc88dc2",
      "old_mode": 33188,
      "old_path": "osbase/blockdev/blockdev.go",
      "new_id": "9cf4ee27c66ce3233a2fe554c88b930120090eaa",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/blockdev.go"
    },
    {
      "type": "modify",
      "old_id": "5422e5547fd8f81d80010d3b51f2b222830d5bdb",
      "old_mode": 33188,
      "old_path": "osbase/blockdev/blockdev_darwin.go",
      "new_id": "725c3a5727b7ddd48ed9eda87d74ea4a12b2ef79",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/blockdev_darwin.go"
    },
    {
      "type": "modify",
      "old_id": "c5fa7842acf3309d6317c56729d3e646d2fe1d0b",
      "old_mode": 33188,
      "old_path": "osbase/blockdev/blockdev_linux.go",
      "new_id": "f6d5b4c5ac82aacfb76ea69bad7452b38bde14bf",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/blockdev_linux.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "31aa8272f6cb3fd9888147ec2a44a9fe7ef12d45",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/blockdev_linux_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "df4e8aed7151fee21049e2e81d8dd374c2317f35",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/blockdev_test.go"
    },
    {
      "type": "modify",
      "old_id": "193f93cafd1df95a81593ea985fba516399ba240",
      "old_mode": 33188,
      "old_path": "osbase/blockdev/memory.go",
      "new_id": "cf5e21d85c87e6bd3971ef0e1965d16199d7eef6",
      "new_mode": 33188,
      "new_path": "osbase/blockdev/memory.go"
    },
    {
      "type": "modify",
      "old_id": "be6fb7f2cc66e3cb89e2769565602c3ae39daf66",
      "old_mode": 33188,
      "old_path": "osbase/gpt/gpt.go",
      "new_id": "ca8566afd332c13c3d00f378a9f114daa7cff2bc",
      "new_mode": 33188,
      "new_path": "osbase/gpt/gpt.go"
    }
  ]
}
