action_manager
struct action_manager **manager_ptr)
struct action_manager *manager;
*manager = (struct action_manager) {
const struct admin_state_code *vdo_get_current_manager_operation(struct action_manager *manager)
void *vdo_get_current_action_context(struct action_manager *manager)
static thread_id_t get_acting_zone_thread_id(struct action_manager *manager)
static void prepare_for_next_zone(struct action_manager *manager)
static void prepare_for_conclusion(struct action_manager *manager)
struct action_manager *manager = as_action_manager(completion);
static void launch_current_action(struct action_manager *manager)
bool vdo_schedule_default_action(struct action_manager *manager)
struct action_manager *manager = as_action_manager(completion);
bool vdo_schedule_action(struct action_manager *manager, vdo_action_preamble_fn preamble,
bool vdo_schedule_operation(struct action_manager *manager,
bool vdo_schedule_operation_with_context(struct action_manager *manager,
static inline struct action_manager *as_action_manager(struct vdo_completion *completion)
return container_of(completion, struct action_manager, completion);
bool vdo_schedule_operation_with_context(struct action_manager *manager,
struct action_manager;
struct action_manager **manager_ptr);
vdo_get_current_manager_operation(struct action_manager *manager);
void * __must_check vdo_get_current_action_context(struct action_manager *manager);
bool vdo_schedule_default_action(struct action_manager *manager);
bool vdo_schedule_action(struct action_manager *manager, vdo_action_preamble_fn preamble,
bool vdo_schedule_operation(struct action_manager *manager,
return vdo_schedule_action(map->action_manager, prepare_for_era_advance,
vdo_free(vdo_forget(map->action_manager));
&map->action_manager);
vdo_schedule_default_action(map->action_manager);
vdo_get_current_manager_operation(map->action_manager),
vdo_schedule_operation(map->action_manager, operation, NULL, drain_zone, NULL,
vdo_schedule_operation(map->action_manager, VDO_ADMIN_STATE_RESUMING,
vdo_schedule_operation(map->action_manager,
struct action_manager *action_manager;
struct action_manager *manager;
struct action_manager *manager;
vdo_get_current_action_context(allocator->depot->action_manager);
return vdo_schedule_action(depot->action_manager,
depot->vdo, &depot->action_manager);
vdo_free(vdo_forget(depot->action_manager));
vdo_get_current_manager_operation(depot->action_manager);
vdo_get_current_manager_operation(depot->action_manager),
vdo_schedule_operation_with_context(depot->action_manager, operation,
vdo_schedule_action(depot->action_manager, NULL,
vdo_schedule_operation(depot->action_manager,
vdo_get_current_manager_operation(depot->action_manager),
vdo_schedule_operation(depot->action_manager, operation,
vdo_get_current_manager_operation(depot->action_manager),
vdo_schedule_operation(depot->action_manager, VDO_ADMIN_STATE_RESUMING,
vdo_schedule_default_action(depot->action_manager);
vdo_schedule_action(depot->action_manager, NULL,
struct action_manager *action_manager;