class BlockDevice

Defined at line 58 of file ../../src/devices/block/drivers/ftl/block_device.h

Exposes the FTL library as a Fuchsia BlockDevice protocol.

Public Methods

void BlockDevice (zx_device_t * parent)

Defined at line 63 of file ../../src/devices/block/drivers/ftl/block_device.h

void DdkRelease ()

Defined at line 67 of file ../../src/devices/block/drivers/ftl/block_device.h

void ~BlockDevice ()

Defined at line 73 of file ../../src/devices/block/drivers/ftl/block_device.cc

void Format (FormatCompleter::Sync & completer)

Defined at line 87 of file ../../src/devices/block/drivers/ftl/block_device.h

void GetVmo (GetVmoCompleter::Sync & completer)

Defined at line 89 of file ../../src/devices/block/drivers/ftl/block_device.h

zx_status_t Bind ()

Defined at line 89 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 100 of file ../../src/devices/block/drivers/ftl/block_device.h

OperationCounters & nand_counters ()

Defined at line 102 of file ../../src/devices/block/drivers/ftl/block_device.h

void SetVolumeForTest (std::unique_ptr<ftl::Volume> volume)

Defined at line 104 of file ../../src/devices/block/drivers/ftl/block_device.h

void SetNandParentForTest (const nand_protocol_t & nand)

Defined at line 106 of file ../../src/devices/block/drivers/ftl/block_device.h

void BlockDevice (BlockDevice && )

Defined at line 108 of file ../../src/devices/block/drivers/ftl/block_device.h

void BlockDevice (const BlockDevice & )

Defined at line 108 of file ../../src/devices/block/drivers/ftl/block_device.h

BlockDevice & operator= (BlockDevice && )

Defined at line 108 of file ../../src/devices/block/drivers/ftl/block_device.h

BlockDevice & operator= (const BlockDevice & )

Defined at line 108 of file ../../src/devices/block/drivers/ftl/block_device.h

void DdkUnbind (ddk::UnbindTxn txn)

Defined at line 110 of file ../../src/devices/block/drivers/ftl/block_device.cc

zx_status_t Init ()

Performs the object initialization.

Defined at line 116 of file ../../src/devices/block/drivers/ftl/block_device.cc

zx_status_t Suspend ()

Device protocol implementation.

Defined at line 142 of file ../../src/devices/block/drivers/ftl/block_device.cc

void DdkSuspend (ddk::SuspendTxn txn)

Defined at line 147 of file ../../src/devices/block/drivers/ftl/block_device.cc

zx_status_t DdkGetProtocol (uint32_t proto_id, void * out_protocol)

Defined at line 153 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 168 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 178 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 221 of file ../../src/devices/block/drivers/ftl/block_device.cc

zx_status_t BlockPartitionGetName (char * out_name, size_t capacity)

Defined at line 230 of file ../../src/devices/block/drivers/ftl/block_device.cc

zx_status_t BlockPartitionGetMetadata (partition_metadata_t * out_metadata)

Defined at line 238 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 248 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 254 of file ../../src/devices/block/drivers/ftl/block_device.cc