[roll] Roll fuchsia [fxfs] Rework metadata space reservations
This includes:
1. Switch to having just a single reservation for all metadata.
2. Metadata space either needs to be reserved up-front or it can be
borrowed. When it is borrowed, we have to keep track of it so that
upon remount, we can set up reservations correctly.
3. Separate out the overwrite mode so that it has its own method that
doesn't take a transaction. This avoids locking issues (which
allows us to just use Transaction::commit() in the journal) and
makes clear that overwrite involves no metadata changes.
4. Rename TreeSeal and TreeCompact to be BeginFlush and EndFlush as that
now more correctly indicates what is happening.
5. Tracking the dependencies on the journal needs to be done whilst
under transaction locks and we can use BeginFlush and EndFlush for
that, which obviates the need for ObjectSync, so it is gone.
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/540065
Original-Revision: 70b0f30b624ee28d60c650594f6ff55c720971df
GitOrigin-RevId: 0fad6dafc034bb4b4a0c174c846fb37d571c30e4
Change-Id: Iaeff8bbddb02de089197b0673bc7cfc187481eac
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.