)]}'
{
  "commit": "82ae024f43aee34250ef70dd515684e9457cf2d6",
  "tree": "71a65038ee71055e9954f69960b9791ee1d26ae7",
  "parents": [
    "67ffbc28537006371eb9c98dcdba3edb0f737508"
  ],
  "author": {
    "name": "Aaron Drew",
    "email": "ripper@fuchsia.infra.roller.google.com",
    "time": "Tue Jun 18 02:04:01 2024 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Jun 17 19:05:28 2024 -0700"
  },
  "message": "[roll] Roll fuchsia [fxfs] Fix a bug causing stress builders to fail.\n\n`rebuild_strategy()` was made to return false if we scan the disk and\nfind no changes to the in-memory free extent information.\n\nThis \u0027no changes\u0027 did not include overflow tag information which\nseemed fine to me at first but there is a specific edge case that can\ncause issues:\n\n1. Fragment the device enough to fill size bucket A and overflow\n   buckets B and C\u003dA+B.\n2. Free a high range of size A. Because we keep the lowest\n   offsets in RAM, this range is immediately dropped from memory but\n   it happens to be adjacent to an overflowed range B. Together the\n   two ranges form a free (but still overflowed) range C.\n3. We then consume all in-memory size A ranges, triggering\n   `rebuild_strategy()`.\n4. This removes the overflow marker but doesn\u0027t result in any range\n   changes to the in-memory representation.\n\nBoom! We blow up because we think we\u0027re in a loop, but if we just\ntried to allocate one more time, we\u0027d find that the overflow marker\nis cleared and the next-biggest size bucket would be used.\n\nOriginal-Bug: b/345105394\nOriginal-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1066152\nOriginal-Revision: 7888622f7184d3c5062a44063fc5999a021c653a\nGitOrigin-RevId: fe5cd93625557adefa5eb892b1574efbc2285137\nChange-Id: Icbab42713c3fbe57974ef77e21028f42cda4c4cc\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bbf1c187ddf4d2206687119b7892f433797ea031",
      "old_mode": 33188,
      "old_path": "stem",
      "new_id": "f262d8b999cf33becf4904073dc2cca3d8c34c40",
      "new_mode": 33188,
      "new_path": "stem"
    }
  ]
}
