class VerifiedDevice

Defined at line 33 of file ../../src/devices/block/drivers/block-verity/verified-device.h

A DDK device that speaks the ddk block protocol, providing a block device

that exposes the data section of the device for reads. It verifies each read

against the integrity data merkle tree rooted in the hash provided at

construction time.

Public Methods

void VerifiedDevice (zx_device_t * parent, DeviceInfo && info, const std::array<uint8_t, kHashOutputSize> & integrity_root_hash)

Implementation of the `verified` read-only block device that maps blocks and

verifies their hashes against integrity data before returning successful

reads.

Defined at line 40 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void VerifiedDevice (const VerifiedDevice & )

Disallow copy, assign, and move.

Defined at line 41 of file ../../src/devices/block/drivers/block-verity/verified-device.h

void VerifiedDevice (VerifiedDevice && )

Defined at line 42 of file ../../src/devices/block/drivers/block-verity/verified-device.h

VerifiedDevice & operator= (const VerifiedDevice & )

Defined at line 43 of file ../../src/devices/block/drivers/block-verity/verified-device.h

VerifiedDevice & operator= (VerifiedDevice && )

Defined at line 44 of file ../../src/devices/block/drivers/block-verity/verified-device.h

void ~VerifiedDevice ()

Defined at line 46 of file ../../src/devices/block/drivers/block-verity/verified-device.h

uint64_t op_size ()

Defined at line 48 of file ../../src/devices/block/drivers/block-verity/verified-device.h

zx_status_t Init ()

Do fallible construction and request BlockVerifier prepare for verified

reads.

Defined at line 51 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

zx_status_t DdkGetProtocol (uint32_t proto_id, void * out)

ddk::Device methods; see ddktl/device.h

Defined at line 71 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void DdkUnbind (ddk::UnbindTxn txn)

Defined at line 85 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void DdkRelease ()

Defined at line 100 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void BlockImplQuery (block_info_t * out_info, size_t * out_op_size)

ddk::BlockProtocol methods; see fuchsia/hardware/block/driver/cpp/banjo.h

Defined at line 102 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void BlockImplQueue (block_op_t * block_op, block_impl_queue_callback completion_cb, void * cookie)

Defined at line 113 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void RequestBlocks (uint64_t start_block, uint64_t block_count, zx::vmo & vmo, void * cookie, BlockLoaderCallback callback)

`block_verity::BlockLoaderInterface`

Defined at line 148 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void OnBlockLoaderRequestComplete (zx_status_t status, block_op_t * block)

Callback for reads initiated by `RequestBlocks` (the `BlockLoaderInterface`

implementation)

Defined at line 170 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void OnClientBlockRequestComplete (zx_status_t status, block_op_t * block)

The callback that we give to the underlying block device when we queue

operations against it. It simply translates block offsets back and completes the

matched block requests.

Defined at line 208 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void OnBlockVerifierPrepareComplete (zx_status_t status)

Callback for `BlockVerifier::PrepareAsync`

Defined at line 250 of file ../../src/devices/block/drivers/block-verity/verified-device.cc

void BlockComplete (block_op_t * block, zx_status_t status)

Completes the block operation by calling the appropriate callback with the

appropriate status.

Defined at line 268 of file ../../src/devices/block/drivers/block-verity/verified-device.cc