commit | 70b0f30b624ee28d60c650594f6ff55c720971df | [log] [tgz] |
---|---|---|
author | Chris Suter <csuter@google.com> | Fri Jun 18 00:55:27 2021 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Fri Jun 18 00:55:27 2021 +0000 |
tree | ae265c12d17b6f82ec3d765302380dc4fb75c548 | |
parent | e4e1e0af8032f340644d84aa46855da7520b924a [diff] |
[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. Change-Id: I84ef7981e1055c1893e0b0fefc579c7f86123115 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/540065 Reviewed-by: James Sullivan <jfsulliv@google.com> Commit-Queue: Chris Suter <csuter@google.com>
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
Read more about Fuchsia's principles.
See Getting Started.
See fuchsia.dev.