[roll] Roll fuchsia [storage] Support passthrough IO for GPT component

Adds fuchsia.hardware.block.Block/OpenSessionWithOffsetMap, which can be
used to create a session that delegates re-mapping logical block offsets
in FIFO requests to an external component.

Initially, both the C++ and Rust block servers will only support a
single static mapping.  Dynamic mappings with multiple entries is
required for FVM, and will be added later if performance requires it.

This patch also transparently enables passthrough I/O for the GPT:
- Clients connect to a GPT partition via the usual Block/OpenSession.
- The GPT partition will forward this request as an
  Block/OpenSessionWithOffsetMap request to the underlying block device,
  providing a single static mapping describing the partition's range in
  the device.
- From that point onwards, clients talk directly to the underlying block
  device, and requests in the session are transparently adjusted to be
  within the GPT partition's range.

Original-Bug: 372555443
Original-Bug: 402515764
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1205470
Original-Revision: 7f41c574a79d248c279ef82f6c2594b1c254b185
GitOrigin-RevId: bb22a98d77f43d8f30c77d1d5b86d762212c0373
Change-Id: I8a45e56aa1cb46bf09eb74838b89c2ac185397c4
1 file changed
tree: 8952742c3480fe4ce61abec32885ca3e04dacd81
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
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.