[block_server] Support hierarchical Mapper sessions Implement hierarchical Mapper session serving: - Document in `block.fidl` that child sessions close when the parent session is closed. - Handle `MapperSession.OpenChildSession` requests by resolving the parent file from the parent session and wrapping it in a `ChildBlockService`. - Support recursive intermediate and leaf mapper sessions in `serve_mapper_session` and `run_mapper_session_loop`. - Cancel and terminate child sessions when a parent session closes. - Add unit tests verifying reading from a child session and verifying that closing a parent session closes all child sessions. TAG=agy CONV=15d9c16d-cf1f-46b6-8b2f-9bff972c91f1 Bug: 530494057 Change-Id: I29139a99c1fae7bad354704dd86498388d94be6a Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1768136 API-Review: Chris Suter <csuter@google.com> Reviewed-by: Rui Qi Sim <rqsim@google.com> Commit-Queue: Chris Suter <csuter@google.com> Fuchsia-Auto-Submit: Chris Suter <csuter@google.com>
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.
See Getting Started.
See fuchsia.dev.