[fvm] Prevent duplicate device names

Driver Framework V2 will prevent multiple child devices with the same
name from being bound. FVM names it's child devices after the partition
name and the entry number. When a partition is destroyed, the entry in
FVM is cleared before the child device is removed. Tests that rapidly
destroy and recreate partitions can race with the device being removed
to get multiple child devices with the same name to exist at the same
time.

This change prevents multiple child devices with the same name from
being bound by preventing a FVM entry from being reused while there is
still a device running for the entry.

Bug: 102219
Multiply: fvm-integration-test
Change-Id: I8d5916a1a5077121c96343ab9988bb4ec1b1e03b
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/691273
Reviewed-by: James Sullivan <jfsulliv@google.com>
Commit-Queue: Chris Drouillard <cdrllrd@google.com>
3 files changed
tree: 90f6673b6300c24b8e0e39c27671adc9d5da048e
  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. .gn
  20. .style.yapf
  21. analysis_options.yaml
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. pyrightconfig.json
  30. README.md
  31. 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.