template <>

class WireWeakSyncClientImpl

Defined at line 5722 of file fidling/gen/sdk/fidl/fuchsia.storage.block/fuchsia.storage.block/cpp/fidl/fuchsia.storage.block/cpp/wire_messaging.h

Public Methods

::fidl::WireResult< ::fuchsia_storage_block::VolumeManager::AllocatePartition> AllocatePartition (uint64_t slice_count, const ::fuchsia_storage_block::wire::Guid & type, const ::fuchsia_storage_block::wire::Guid & instance, ::fidl::StringView name, uint32_t flags)

Allocates a virtual partition with the requested features.

`slice_count` is the number of slices initially allocated to the partition, at

offset zero. The number of slices allocated to a new partition must be at least one.

`type` and `value` indicate type and instance GUIDs for the partition, respectively.

`name` indicates the name of the new partition.

Allocates 232 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_storage_block::VolumeManager::GetInfo> GetInfo ()

Gets the VolumeManagerInfo describing this instance of the `VolumeManager`.

**NOTE**: GetInfo() is used to synchronize child partition device visibility with devfs.

Implementations must only respond once all child partitions of `VolumeManager` have been

added to devfs, to guarantee clients can safely enumerate them.

See https://fxbug.dev/42077585 for more information.

Allocates 88 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_storage_block::VolumeManager::Activate> Activate (const ::fuchsia_storage_block::wire::Guid & old_guid, const ::fuchsia_storage_block::wire::Guid & new_guid)

Atomically marks a vpartition (by instance GUID) as inactive, while finding

another partition (by instance GUID) and marking it as active.

If the "old" partition does not exist, the GUID is ignored.

If the "old" partition is the same as the "new" partition, the "old"

GUID is ignored.

If the "new" partition does not exist, `ZX_ERR_NOT_FOUND` is returned.

This function does not destroy the "old" partition, it just marks it as

inactive -- to reclaim that space, the "old" partition must be explicitly

destroyed. This destruction can also occur automatically when the FVM driver

is rebound (i.e., on reboot).

This function may be useful for A/B updates within the FVM,

since it will allow activating updated partitions.

Allocates 72 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_storage_block::VolumeManager::GetPartitionLimit> GetPartitionLimit (const ::fuchsia_storage_block::wire::Guid & guid)

Retrieves the allocation limit for the partition. A return value of 0 indicates that there

is no limit and the partition can be extended as long as there is available space on the

device.

The partition may be larger than this limit if a smaller limit was applied after the

partition had already grown to the current size.

Currently the partition limit is not persisted across reboots but this may change in the

future.

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_storage_block::VolumeManager::SetPartitionLimit> SetPartitionLimit (const ::fuchsia_storage_block::wire::Guid & guid, uint64_t slice_count)

Sets the allocation limit for the partition. Partitions can not be extended beyond their

allocation limit. The partition limit will never shrink partitions so if this value is

less than the current partition size, it will keep the current size but prevent further

growth.

The allocation limits are on the VolumeManager API rather than on the partition because

they represent a higher capability level. These limits are designed to put guards on

users of the block device (and hence the Volume API).

Currently the partition limit is not persisted across reboots but this may change in the

future.

Allocates 64 bytes of message buffer on the stack. No heap allocation necessary.

::fidl::WireResult< ::fuchsia_storage_block::VolumeManager::SetPartitionName> SetPartitionName (const ::fuchsia_storage_block::wire::Guid & guid, ::fidl::StringView name)

Renames the specified partition. Any existing devices that include the name of the partition

in their topological path might *not* reflect the name change until the next time that the

device is instantiated.

Allocates 208 bytes of message buffer on the stack. No heap allocation necessary.