[roll] Roll fuchsia [fxfs] Add reference types for Buffer

Adds BufferRef and MutableBufferRef, which are arbitrarily sliceable
reference types that are used for transacting with a Device
(read/write).

Reference types are necessary (instead of, e.g. &Buffer and &mut Buffer)
because we need to support slicing buffers in the
ObjectStore::read/write code. A slice of a buffer must necessarily yield
a reference of some kind, and adding a reference type was necessary to
make the lifetimes work out (since something needs to own the reference
and have the lifetimes appropriately scoped).

Buffer references must still be aligned by the time they are used for
transacting with the block device. Assertions are added to ensure that
we catch this at runtime.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/506164
Original-Revision: 92f34be61fc62e7374bdebdfed1e263cc97f6eff
GitOrigin-RevId: 4aad5de9bf21f4b1b5fff0f04c1c298469383021
Change-Id: Ib207ff6b523f89fbb213e1336ab090a51b978fb8
1 file changed
tree: 467325619a8c5984600c8d82e449a05e6b09b111
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. firmware
  8. flower
  9. jiri.lock
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. 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 via the IRC channel #fuchsia on Freenode.

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.