pub enum PaverRequest {
FindDataSink {
data_sink: ServerEnd<DataSinkMarker>,
control_handle: PaverControlHandle,
},
OpenPartitionIo {
block_dir: ClientEnd<DirectoryMarker>,
partition_io: ServerEnd<PartitionIoMarker>,
control_handle: PaverControlHandle,
},
FindPartitionTableManager {
data_sink: ServerEnd<DynamicDataSinkMarker>,
control_handle: PaverControlHandle,
},
FindBootManager {
boot_manager: ServerEnd<BootManagerMarker>,
control_handle: PaverControlHandle,
},
FindSysconfig {
sysconfig: ServerEnd<SysconfigMarker>,
control_handle: PaverControlHandle,
},
}Variants§
FindDataSink
Attempts to auto-discover the data sink where assets and volumes will get paved to. On devices with GPT, the partition must have a valid FVM partition in order for auto-discovery to find it. If multiple devices are found suitable, error is returned.
data_sink will be closed on error, with an epitaph provided on failure reason.
OpenPartitionIo
Opens a PartitionIo session backed by block devices in the caller-provided block_dir.
Under the capability-delegated permission model, the paver component does not hold ambient
access to all system block partitions. Instead, the caller (such as system-updater or
fastboot) is responsible for routing the required block device capabilities into its own
namespace (for example, via a scoped /block or /block/ota directory exposed by fshost)
and passing block_dir to the paver for the duration of the PartitionIo session.
block_dir is expected to follow the fshost /block directory layout (see
https://fuchsia.dev/fuchsia-src/development/storage/storage-partition-routing): each entry
<entry>/ is a subdirectory containing a fuchsia.storage.block.Block protocol node at
<entry>/fuchsia.storage.block.Block.
partition_io will be closed on error, with an epitaph provided on failure reason.
Fields
block_dir: ClientEnd<DirectoryMarker>partition_io: ServerEnd<PartitionIoMarker>control_handle: PaverControlHandleFindPartitionTableManager
Like FindDataSink, but the returned block device will be dynamic, supporting partition
table manipulation.
data_sink will be closed on error, with an epitaph provided on failure reason.
FindBootManager
Attempts to auto-discover the boot manager.
boot_manager will be closed on error, with an epitaph provided on failure reason.
ZX_ERR_NOT_SUPPORTED indicates lack of support and configuration A is always booted from.
FindSysconfig
Find Sysconfig service.
Implementations§
Source§impl PaverRequest
impl PaverRequest
pub fn into_find_data_sink( self, ) -> Option<(ServerEnd<DataSinkMarker>, PaverControlHandle)>
pub fn into_open_partition_io( self, ) -> Option<(ClientEnd<DirectoryMarker>, ServerEnd<PartitionIoMarker>, PaverControlHandle)>
pub fn into_find_partition_table_manager( self, ) -> Option<(ServerEnd<DynamicDataSinkMarker>, PaverControlHandle)>
pub fn into_find_boot_manager( self, ) -> Option<(ServerEnd<BootManagerMarker>, PaverControlHandle)>
pub fn into_find_sysconfig( self, ) -> Option<(ServerEnd<SysconfigMarker>, PaverControlHandle)>
Sourcepub fn method_name(&self) -> &'static str
pub fn method_name(&self) -> &'static str
Name of the method defined in FIDL