[recovery] Add ShredDataVolume to fshost

This moves some of the responsibility for shredding the data volume into
fshost and fixes how shredding works when the data volume is mounted:
instead of trying to wipe the super blocks, we will delete the key bag.
For now, this only works with Fxfs and only in the Rust fshost.

This CL does not fix workstation where factory reset remains broken.

Bug: 116488
Change-Id: I397e30646175482e3c59f43c1edd8d713be86d14
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/780203
API-Review: Chris Suter <csuter@google.com>
Reviewed-by: Stephen Demos <sdemos@google.com>
Reviewed-by: Drew Fisher <zarvox@google.com>
Commit-Queue: Chris Suter <csuter@google.com>
Reviewed-by: Eric Stone <ecstone@google.com>
Reviewed-by: Alex Legg <alexlegg@google.com>
20 files changed
tree: 5bad0f9d56cc5dd758cc6cd29bec851db572830c
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. products/
  7. scripts/
  8. sdk/
  9. src/
  10. third_party/
  11. tools/
  12. zircon/
  13. .clang-format
  14. .clang-tidy
  15. .editorconfig
  16. .git-blame-ignore-revs
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. .style.yapf
  22. analysis_options.yaml
  23. AUTHORS
  24. BUILD.gn
  25. CODE_OF_CONDUCT.md
  26. CONTRIBUTING.md
  27. fuchsia.code-workspace
  28. LICENSE
  29. OWNERS
  30. PATENTS
  31. pyrightconfig.json
  32. README.md
  33. rustfmt.toml
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.