Lines Matching full:completion

12 #include "completion.h"
41 * @completion: The completion for performing actions.
54 struct vdo_completion completion; member
66 static inline struct action_manager *as_action_manager(struct vdo_completion *completion) in as_action_manager() argument
68 vdo_assert_completion_type(completion, VDO_ACTION_COMPLETION); in as_action_manager()
69 return container_of(completion, struct action_manager, completion); in as_action_manager()
79 static void no_preamble(void *context __always_unused, struct vdo_completion *completion) in no_preamble() argument
81 vdo_finish_completion(completion); in no_preamble()
128 vdo_initialize_completion(&manager->completion, vdo, VDO_ACTION_COMPLETION); in vdo_make_action_manager()
143 static void finish_action_callback(struct vdo_completion *completion);
144 static void apply_to_zone(struct vdo_completion *completion);
151 static void preserve_error(struct vdo_completion *completion) in preserve_error() argument
153 if (completion->parent != NULL) in preserve_error()
154 vdo_set_completion_result(completion->parent, completion->result); in preserve_error()
156 vdo_reset_completion(completion); in preserve_error()
157 vdo_run_completion(completion); in preserve_error()
162 vdo_prepare_completion_for_requeue(&manager->completion, apply_to_zone, in prepare_for_next_zone()
170 vdo_prepare_completion_for_requeue(&manager->completion, finish_action_callback, in prepare_for_conclusion()
175 static void apply_to_zone(struct vdo_completion *completion) in apply_to_zone() argument
178 struct action_manager *manager = as_action_manager(completion); in apply_to_zone()
195 manager->current_action->zone_action(manager->context, zone, completion); in apply_to_zone()
198 static void handle_preamble_error(struct vdo_completion *completion) in handle_preamble_error() argument
201 completion->callback = finish_action_callback; in handle_preamble_error()
202 preserve_error(completion); in handle_preamble_error()
216 finish_action_callback(&manager->completion); in launch_current_action()
224 vdo_prepare_completion_for_requeue(&manager->completion, apply_to_zone, in launch_current_action()
230 action->preamble(manager->context, &manager->completion); in launch_current_action()
250 static void finish_action_callback(struct vdo_completion *completion) in finish_action_callback() argument
254 struct action_manager *manager = as_action_manager(completion); in finish_action_callback()