commit | 4821a685eb051bc00b023cb71afae827d96e0253 | [log] [tgz] |
---|---|---|
author | Stephen Demos <sdemos@fuchsia.infra.roller.google.com> | Thu Mar 07 02:22:58 2024 +0000 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Mar 06 18:24:25 2024 -0800 |
tree | 2844154b6ad747cf22af10e80cb30451ef2bf46b | |
parent | 8462a610740b22aab22689d1fd4c3d0da778f076 [diff] |
[roll] Roll fuchsia [fxfs] add overwrite extent value type To implement fallocate, we need to introduce a new extent value type which represents a preallocated disk region that will be written to multiple times. These extents don't store checksums, instead relying purely on the journal checksum records emitted as part of writing. For now, only the format changes are added. They store a block bitmap which tracks which blocks have been written to at least once, because before blocks are written to they are sparse, logically zeros. An advisory flag in the object attributes is also added to indicate if this file has any overwrite extents. This will help optimize open and write, so that in the vastly more common case of having no overwrite extents, we can skip expensive checks. This also flattens the checksums into a Mode type which stores the write mode the extent is in. Extents that used to have Checksums::None now have ExtentMode::Raw. Original-Bug: b/293943124 Test: fx test fxfs-test Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/987914 Original-Revision: 0322de47568c66b755461e93d7719cf6db337e7f GitOrigin-RevId: a8e1e1c17aa0399b51def1d31bc5974b06757480 Change-Id: I3a31590b3ffe4fff012e1337e9d553baead25720
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
.