class BlockDevice
Defined at line 61 of file ../../src/devices/block/drivers/ftl/block_device.h
Exposes the FTL library as a Fuchsia BlockDevice protocol.
Public Methods
void DdkRelease ()
Defined at line 72 of file ../../src/devices/block/drivers/ftl/block_device.h
void BlockDevice (zx_device_t * parent, fdf_dispatcher_t * dispatcher)
dispatcher is required to run configuration service handlers.
Defined at line 78 of file ../../src/devices/block/drivers/ftl/block_device.cc
void ~BlockDevice ()
Defined at line 81 of file ../../src/devices/block/drivers/ftl/block_device.cc
void Format (FormatCompleter::Sync & completer)
Defined at line 92 of file ../../src/devices/block/drivers/ftl/block_device.h
void GetVmo (GetVmoCompleter::Sync & completer)
Defined at line 94 of file ../../src/devices/block/drivers/ftl/block_device.h
zx_status_t Bind ()
Defined at line 97 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx::vmo DuplicateInspectVmo ()
Returns a read_only handle to the underlying Inspect VMO.
Defined at line 110 of file ../../src/devices/block/drivers/ftl/block_device.h
OperationCounters & nand_counters ()
Defined at line 112 of file ../../src/devices/block/drivers/ftl/block_device.h
void SetNandParentForTest (const nand_protocol_t & nand)
Defined at line 116 of file ../../src/devices/block/drivers/ftl/block_device.h
void BlockDevice (BlockDevice && )
Defined at line 118 of file ../../src/devices/block/drivers/ftl/block_device.h
void BlockDevice (const BlockDevice & )
Defined at line 118 of file ../../src/devices/block/drivers/ftl/block_device.h
BlockDevice & operator= (const BlockDevice & )
Defined at line 118 of file ../../src/devices/block/drivers/ftl/block_device.h
BlockDevice & operator= (BlockDevice && )
Defined at line 118 of file ../../src/devices/block/drivers/ftl/block_device.h
void DdkUnbind (ddk::UnbindTxn txn)
Defined at line 137 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t Init ()
Performs the object initialization.
Defined at line 143 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t Suspend ()
Device protocol implementation.
Defined at line 169 of file ../../src/devices/block/drivers/ftl/block_device.cc
void DdkSuspend (ddk::SuspendTxn txn)
Defined at line 174 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t DdkGetProtocol (uint32_t proto_id, void * out_protocol)
Defined at line 180 of file ../../src/devices/block/drivers/ftl/block_device.cc
void BlockImplQuery (block_info_t * info_out, size_t * block_op_size_out)
Block protocol implementation.
Defined at line 195 of file ../../src/devices/block/drivers/ftl/block_device.cc
void BlockImplQueue (block_op_t * operation, block_impl_queue_callback completion_cb, void * cookie)
Defined at line 205 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t BlockPartitionGetGuid (guidtype_t guid_type, guid_t * out_guid)
Partition protocol implementation.
Defined at line 248 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t BlockPartitionGetName (char * out_name, size_t capacity)
Defined at line 257 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t BlockPartitionGetMetadata (partition_metadata_t * out_metadata)
Defined at line 265 of file ../../src/devices/block/drivers/ftl/block_device.cc
void Get (GetCompleter::Sync & completer)
Configuration interface.
Defined at line 536 of file ../../src/devices/block/drivers/ftl/block_device.cc
void Set (fuchsia_storage_ftl::wire::ConfigurationOptions * request, SetCompleter::Sync & completer)
Defined at line 554 of file ../../src/devices/block/drivers/ftl/block_device.cc
bool OnVolumeAdded (uint32_t page_size, uint32_t num_pages)
FtlInstance interface.
Defined at line 275 of file ../../src/devices/block/drivers/ftl/block_device.cc
zx_status_t FormatInternal ()
Issues a command to format the FTL (aka, delete all data).
Defined at line 281 of file ../../src/devices/block/drivers/ftl/block_device.cc
void SetVolumeForTest (std::unique_ptr<ftl::Volume> volume)
Defined at line 531 of file ../../src/devices/block/drivers/ftl/block_device.cc