Google is committed to advancing racial equity for Black communities. See how.

fuchsia.blobfs

PROTOCOLS

Blobfs

Defined in fuchsia.blobfs/blobfs.fidl

GetAllocatedRegions

Retrieve information about allocated regions on the filesystem.

Request

NameType

Response

NameType
status zx/status
regions handle<vmo>?
count uint64

SetCorruptBlobHandler

Assign the handler for blob corruption callbacks. Only one handler will receive callbacks at any given time.

Request

NameType
handler CorruptBlobHandler

Response

NameType
status zx/status

CorruptBlobHandler

Defined in fuchsia.blobfs/blobfs.fidl

CorruptBlob

A corruption handler may determine that a blob is sufficiently critical that returning errors to clients may lead to undesirable system configuration or behavior. In this case the handler may return DELETE_AND_HANG to prevent such an event. As this behavior effectively leaks resources, it is expected that the corruption handler otherwise arranges that the system will be restarted/recovered. For non critical blobs, CorruptBlob will return with a DELETE_AND_RETURN_ERROR or RETURN_ERROR, and the read may "continue" i.e an error will be observed by the blobfs client that is reading.

Request

NameType
merkleroot vector<uint8>[64]

Response

NameType
action TakeAction

STRUCTS

BlockRegion

Defined in fuchsia.blobfs/blobfs.fidl

Describes contiguous run of allocated blocks.

NameTypeDescriptionDefault
offset uint64 No default
length uint64 No default

ENUMS

TakeAction

Type: uint8

Defined in fuchsia.blobfs/blobfs.fidl

Action to be taken on blob corruption. Depending on the "type" of blob (i.e system critical/non critical), CorruptBlobHandler can instruct blobfs to take appropriate action on the blob.

NameValueDescription
RETURN_ERROR 0

Return error without deleting.

DELETE_AND_HANG 1

Delete the blob and hang execution.

DELETE_AND_RETURN_ERROR 2

Delete the blob and return error.