)]}'
{
  "commit": "5fc02cca2f0b3751319f247f2ebbd3686aacc47f",
  "tree": "18ebceeb9933fcda32bb6afae4c15831c382d81a",
  "parents": [
    "0274c95f3225d510ce81263f8555ac4ff5d4d98d"
  ],
  "author": {
    "name": "Stephen Demos",
    "email": "sdemos@fuchsia.infra.roller.google.com",
    "time": "Thu Feb 01 03:55:34 2024 +0000"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Jan 31 19:57:16 2024 -0800"
  },
  "message": "[roll] Roll fuchsia [fxfs] refactor open count flushing logic\n\nSimplify the logic around flushing the file when the open count drops to\nzero. We now subtract the open count immediately, and then purge if\nrequired, and then, if we need to flush, only flush once.\n\nThe previous iteration of this function had a bug where dirty pages past\nthe end of the file would cause an infinite loop of tasks to be spawned,\nholding active guards, which both actively consumed a core with the\nspawning activities, and prevented filesystem shutdown.\n\nIt\u0027s not clear what race condition in the starnix tests caused this\nparticular issue to be hit, but it is pretty easy to replicate by\nwriting directly into the backing vmo of a file beyond it\u0027s truncated\nsize. A test with this behavior is added to guard against regressions.\n\nOriginal-Fixed: b/318434279\nOriginal-Fixed: b/319348464\nMultiply: starnix_host_benchmark_e2e_boot\nTest: fx test fxfs-platform-test\nOriginal-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/984112\nOriginal-Revision: 0b113fc581cba813ab4f8be08da9b02b86d01214\nGitOrigin-RevId: f6878f3dde5e46427d35a4b6055c0a2219df4d29\nChange-Id: Idbbe5af6e3b6cdd304936f1812f8759c7ce048ed\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "056d70eff02eba996ac3517fc062bdc4d2d515ec",
      "old_mode": 33188,
      "old_path": "stem",
      "new_id": "c8889e0fa15c06fa407f8ab7828bcec70c7f361e",
      "new_mode": 33188,
      "new_path": "stem"
    }
  ]
}
