[roll] Roll fuchsia [fxfs] Fix a bug causing stress builders to fail. `rebuild_strategy()` was made to return false if we scan the disk and find no changes to the in-memory free extent information. This 'no changes' did not include overflow tag information which seemed fine to me at first but there is a specific edge case that can cause issues: 1. Fragment the device enough to fill size bucket A and overflow buckets B and C=A+B. 2. Free a high range of size A. Because we keep the lowest offsets in RAM, this range is immediately dropped from memory but it happens to be adjacent to an overflowed range B. Together the two ranges form a free (but still overflowed) range C. 3. We then consume all in-memory size A ranges, triggering `rebuild_strategy()`. 4. This removes the overflow marker but doesn't result in any range changes to the in-memory representation. Boom! We blow up because we think we're in a loop, but if we just tried to allocate one more time, we'd find that the overflow marker is cleared and the next-biggest size bucket would be used. Original-Bug: b/345105394 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1066152 Original-Revision: 7888622f7184d3c5062a44063fc5999a021c653a GitOrigin-RevId: fe5cd93625557adefa5eb892b1574efbc2285137 Change-Id: Icbab42713c3fbe57974ef77e21028f42cda4c4cc
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.