[roll] Roll fuchsia [fxfs] Fix project_id accounting and fsck bugs

Fix several project ID accounting and fsck validation bugs:
1. `Directory::create_child_unnamed_temporary_file` copied project_id
   to the child without merging `{ bytes: 0, nodes: 1 }` into
   `project_usage`. When the file was closed and tombstoned, `trim_some`
   decremented node count, causing persistent -1 node drift.
2. `ScannedStore::process` only incremented node count for directories,
   ignoring `allocated_size` from non-inline extended attributes.
   Include directory `allocated_size` in fsck project usage totals.
3. Only update `stored_project_usages` for root directory records in
   fsck to avoid corrupting root accounting on non-root metadata errors.
   Also warn on negative stored project usage when no nodes exist.

Original-Original-Bug: 562121082
Test: fx -t fuchsia-emulator test fuchsia-pkg://fuchsia.com/fxfs-tests#meta/fxfs-test.cm --test-filter "*project*"
Test: fx -t fuchsia-emulator test fuchsia-pkg://fuchsia.com/fxfs-tests#meta/fxfs-platform-test.cm --test-filter "*project*"
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1936591
Original-Original-Revision: b88a5f071854af982d2c223ac522c60d29f1608d
GitOrigin-RevId: bb7aab3cdb7392f6bd13c85e1730cd23807afe04
Change-Id: I0ac37092bd0f02d02efe7d375d98ca2e8e1b7990
Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1941837
Cr-Commit-Position: refs/heads/main@{#210251}
1 file changed
tree: e5998c251a47680626749d9fc094ede087ad714f
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

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 in one of the communication channels documented at get involved.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.