STRUCT ACTION_MANAGER(9)
β¨ struct action_manager(9) β¨
okay so bestie, we're in the Kernel API Manual today and the star of the show is struct action_manager β yes that's section 9 of the manual, iykyk π
πΈ NAME πΈ
struct action_manager β the actual definition of an action manager. that's it, that's the vibe check π¦
π SYNOPSIS π
struct action_manager {
struct vdo_completion completion;
struct admin_state state;
struct action actions[2];
struct action *current_action;
zone_count_t zones;
vdo_action_scheduler_fn scheduler;
vdo_zone_thread_getter_fn get_zone_thread_id;
thread_id_t initiator_thread_id;
void *context;
zone_count_t acting_zone;
};
literally the whole struct, laid out, no cap π«Ά
π MEMBERS π
okay so every single field, and what it's giving:
completionβ the completion for performing actions. it's the whole reason this manager gets to do things β¨stateβ the state of this action manager. current mood, basically πactionsβ the two action slots. yes,2. both of them. πcurrent_actionβ the current action slot. the one holding the aux right now πΆzonesβ the number of zones in which an action is to be applied. so many zones, so little time πschedulerβ a function to schedule a default next action. it plans ahead, main character energy fr fr πget_zone_thread_idβ a function to get the id of the thread on which to apply an action to a zone. it's the find-my-friend function for threads π₯initiator_thread_idβ the ID of the thread on which actions may be initiated. this is the thread, the originator, the one who starts things π§contextβ opaque data associated with this action manager. mysterious. iconic. we don't look inside πacting_zoneβ the zone currently being acted upon. right here, right now, this one πΈ
π SEE ALSO π
bestie these are the friends you should also go read, all of them, don't skip:
Kernel file ./drivers/md/dm-vdo/action-manager.c, struct action(9), vdo_make_action_manager(9), vdo_schedule_default_action(9), vdo_schedule_action(9), vdo_schedule_operation(9), vdo_schedule_operation_with_context(9)
π friendly reminder: everything above is exactly as written in the page β the fields, the functions, the file path. I'm hyping it up, not editing it. don't come for me π«Ά
and that's the whole page diva!! this one's straight out of ./drivers/md/dm-vdo, version dated October 2026, filed under struct action_manager(9) β go slay your kernel reading list πβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms