geometry_block
.size = sizeof(struct geometry_block) + sizeof(struct volume_geometry),
.size = sizeof(struct geometry_block) + sizeof(struct volume_geometry_4_0),
struct vdo_geometry_block *geometry_block =
vio_record_metadata_io_error(&geometry_block->vio);
struct vdo_geometry_block *geometry_block = &vdo->geometry_block;
vdo_encode_volume_geometry(geometry_block->buffer, &vdo->geometry,
geometry_block->vio.completion.parent = parent;
geometry_block->vio.completion.callback_thread_id = parent->callback_thread_id;
vdo_submit_metadata_vio(&geometry_block->vio,
struct vdo_geometry_block *geometry_block)
(char **) &vdo->geometry_block.buffer);
(char *) geometry_block->buffer,
&vdo->geometry_block.vio);
result = initialize_geometry_block(vdo, &vdo->geometry_block);
result = vdo_submit_metadata_vio_wait(&vdo->geometry_block.vio,
if (mem_is_zero(vdo->geometry_block.vio.data, VDO_BLOCK_SIZE)) {
result = vdo_parse_geometry_block(vdo->geometry_block.buffer,
static void uninitialize_geometry_block(struct vdo_geometry_block *geometry_block)
free_vio_components(&geometry_block->vio);
vdo_free(geometry_block->buffer);
uninitialize_geometry_block(&vdo->geometry_block);
struct vdo_geometry_block geometry_block;