pub struct AdminProxy { /* private fields */ }
Implementations§
Source§impl AdminProxy
impl AdminProxy
Sourcepub fn take_event_stream(&self) -> AdminEventStream
pub fn take_event_stream(&self) -> AdminEventStream
Get a Stream of events from the remote end of the protocol.
§Panics
Panics if the event stream was already taken.
Sourcepub fn mount(
&self,
device: ClientEnd<BlockMarker>,
name: &str,
options: MountOptions,
) -> QueryResponseFut<AdminMountResult, DefaultFuchsiaResourceDialect>
pub fn mount( &self, device: ClientEnd<BlockMarker>, name: &str, options: MountOptions, ) -> QueryResponseFut<AdminMountResult, DefaultFuchsiaResourceDialect>
Mounts the filesystem on the block device. The filesystem will be mounted in /fs/mnt/
Sourcepub fn unmount(
&self,
name: &str,
) -> QueryResponseFut<AdminUnmountResult, DefaultFuchsiaResourceDialect>
pub fn unmount( &self, name: &str, ) -> QueryResponseFut<AdminUnmountResult, DefaultFuchsiaResourceDialect>
Unmounts a previously mounted filesystem.
Sourcepub fn get_device_path(
&self,
fs_id: u64,
) -> QueryResponseFut<AdminGetDevicePathResult, DefaultFuchsiaResourceDialect>
pub fn get_device_path( &self, fs_id: u64, ) -> QueryResponseFut<AdminGetDevicePathResult, DefaultFuchsiaResourceDialect>
Returns the device path for the filesystem with the given fs_id.
Sourcepub fn write_data_file(
&self,
filename: &str,
payload: Vmo,
) -> QueryResponseFut<AdminWriteDataFileResult, DefaultFuchsiaResourceDialect>
pub fn write_data_file( &self, filename: &str, payload: Vmo, ) -> QueryResponseFut<AdminWriteDataFileResult, DefaultFuchsiaResourceDialect>
Writes filename
into the data partition with contents from payload
, formatting the data
partition if it isn’t already formatted. Overwrites file if it already exists.
This can only be called while the data partition isn’t already mounted, which is typically
in recovery builds where fshost is running with the ramdisk_image
flag set.
Sourcepub fn wipe_storage(
&self,
blobfs_root: Option<ServerEnd<DirectoryMarker>>,
blob_creator: Option<ServerEnd<BlobCreatorMarker>>,
) -> QueryResponseFut<AdminWipeStorageResult, DefaultFuchsiaResourceDialect>
pub fn wipe_storage( &self, blobfs_root: Option<ServerEnd<DirectoryMarker>>, blob_creator: Option<ServerEnd<BlobCreatorMarker>>, ) -> QueryResponseFut<AdminWipeStorageResult, DefaultFuchsiaResourceDialect>
Reprovision the first non-ramdisk FVM volume, and format/mount the blob partition.
The formatted Blobfs instance can be accessed via the client end of blobfs_root
; if no
handle is provided, then blobfs won’t be formatted.
If fxblob is configured, blob_creator will be connected with the fxfs BlobCreator protocol,
which should be used instead of creating blobs in the blobfs_root
. blobfs_root
will
still be connected and can be used to read blobs. If fxblob is configured, but no handle is
provided for blob_creator or for blobfs_root, the blob volume won’t be formatted. If a
handle is provided for blob_creator but fxblob is not configured, the channel will be
closed.
This function will pause the fshost block watcher regardless of success or failure.
Requires fshost to be started with the ramdisk_image
config option set to true.
WARNING: This will cause irreversible data loss. Use with caution.
TODO(https://fxbug.dev/42063480): This function unbinds all child drivers of the volume to be wiped. This can race with the fshost block device manager, which attempts to bind the FVM driver and unseal the zxcrypt volume.
Sourcepub fn shred_data_volume(
&self,
) -> QueryResponseFut<AdminShredDataVolumeResult, DefaultFuchsiaResourceDialect>
pub fn shred_data_volume( &self, ) -> QueryResponseFut<AdminShredDataVolumeResult, DefaultFuchsiaResourceDialect>
Wipes the data volume which will get reinitialised upon next boot. This is not cryptographically secure; the caller should take care to reset hardware keys.
Sourcepub fn storage_host_enabled(
&self,
) -> QueryResponseFut<bool, DefaultFuchsiaResourceDialect>
pub fn storage_host_enabled( &self, ) -> QueryResponseFut<bool, DefaultFuchsiaResourceDialect>
Returns whether fshost is configured to use storage-host.
Trait Implementations§
Source§impl AdminProxyInterface for AdminProxy
impl AdminProxyInterface for AdminProxy
type MountResponseFut = QueryResponseFut<Result<(), i32>>
type UnmountResponseFut = QueryResponseFut<Result<(), i32>>
type GetDevicePathResponseFut = QueryResponseFut<Result<String, i32>>
type WriteDataFileResponseFut = QueryResponseFut<Result<(), i32>>
type WipeStorageResponseFut = QueryResponseFut<Result<(), i32>>
type ShredDataVolumeResponseFut = QueryResponseFut<Result<(), i32>>
type StorageHostEnabledResponseFut = QueryResponseFut<bool>
fn mount( &self, device: ClientEnd<BlockMarker>, name: &str, options: MountOptions, ) -> Self::MountResponseFut
fn unmount(&self, name: &str) -> Self::UnmountResponseFut
fn get_device_path(&self, fs_id: u64) -> Self::GetDevicePathResponseFut
fn write_data_file( &self, filename: &str, payload: Vmo, ) -> Self::WriteDataFileResponseFut
fn wipe_storage( &self, blobfs_root: Option<ServerEnd<DirectoryMarker>>, blob_creator: Option<ServerEnd<BlobCreatorMarker>>, ) -> Self::WipeStorageResponseFut
fn shred_data_volume(&self) -> Self::ShredDataVolumeResponseFut
fn storage_host_enabled(&self) -> Self::StorageHostEnabledResponseFut
Source§impl Clone for AdminProxy
impl Clone for AdminProxy
Source§fn clone(&self) -> AdminProxy
fn clone(&self) -> AdminProxy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AdminProxy
impl Debug for AdminProxy
Source§impl Proxy for AdminProxy
impl Proxy for AdminProxy
Source§type Protocol = AdminMarker
type Protocol = AdminMarker
Proxy
controls.Source§fn from_channel(inner: AsyncChannel) -> Self
fn from_channel(inner: AsyncChannel) -> Self
Source§fn into_channel(self) -> Result<AsyncChannel, Self>
fn into_channel(self) -> Result<AsyncChannel, Self>
Source§fn as_channel(&self) -> &AsyncChannel
fn as_channel(&self) -> &AsyncChannel
§fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
fn into_client_end(self) -> Result<ClientEnd<Self::Protocol>, Self>
Auto Trait Implementations§
impl Freeze for AdminProxy
impl !RefUnwindSafe for AdminProxy
impl Send for AdminProxy
impl Sync for AdminProxy
impl Unpin for AdminProxy
impl !UnwindSafe for AdminProxy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)