[roll] Roll fuchsia [ftl] Add diagnosis output to volume extractor.

Adds a diagnosis section for analyzing known issues in an FTL. This
makes it easy to reach inside the FTL and check on various conditions to
identify known symptoms of issues that have been found to corrupt an FTL
volume. Including a check for Partial Page Writes, as well as
specifically checking for them when the fix has already been applied.
Also looks for vpage mapping collisions to identify Premature Block
Recycle.

A couple of problems have just had their logging adjusted to make
spotting the issue more clear, such as the failed read during load time,
and also a vpage mapping that points to a non volume block which would
indicate Premature Block Recycle.

Also cleans up some of the logging output, like iterating the correct
number of vpages when dumping to remove the harmless error log, and no
longer logging when bad blocks are found, as that is a normal and safe
occurrence.

Tested: Against 4 different images with known problems in them, and 1
image that was doctored to induce PPW with the fix.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/599265
Original-Revision: 402af9849902e259de6ee81be76cf6b548069f44
GitOrigin-RevId: 5661d462f3e857a6ff667073a3ab62308896cc71
Change-Id: Icdb56b3cc981e0968ff1405dce37217f09f9f56a
1 file changed
tree: 21ff4d93f8138f630ba66565cfe82c589e1270b7
  1. infra/
  2. third_party/
  3. firmware
  4. flower
  5. jiri.lock
  6. minimal
  7. prebuilts
  8. README.md
  9. stem
  10. 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.