STRUCT LIVEUPDATE_FLB_OPS(9)
π struct liveupdate_flb_ops(9) β the Kernel API Manual, bestie edition
okay so bestie, welcome to struct liveupdate_flb_ops β the manual page for the callbacks that keep your global File-Lifecycle-Bound data alive across a live update. this is the whole vibe. let's go π¦
β¨ NAME β¨
struct liveupdate_flb_ops β literally the callbacks for global File-Lifecycle-Bound data. that's it, that's the whole thing, and it's iconic for it π
πΈ SYNOPSIS πΈ
struct liveupdate_flb_ops {
int (*preserve)(struct liveupdate_flb_op_args *argp);
void (*unpreserve)(struct liveupdate_flb_op_args *argp);
int (*retrieve)(struct liveupdate_flb_op_args *argp);
void (*finish)(struct liveupdate_flb_op_args *argp);
struct module *owner;
};
like, yes, there's a tiny extra space before the closing brace. we don't fix it. we respect it. copy it exactly, fr fr π
π§ Members π§
preserveβ called when the first file using this FLB gets preserved. your callback has to save its state and hand back a single, self-containedu64handle by setting the'argp->data'field and'argp->obj'. one handle. self-contained. no cap π«Άunpreserveβ called when the last file using this FLB gets unpreserved (i.e. aborted before reboot). Receives the handle viaretrieveβ called on-demand in the new kernel, the first time a component asks for access to the shared object. it receives the preserved handle via'argp->data'and must reconstruct the live object, returning it by setting the'argp->obj'field. this is the glow-up moment β¨finishβ called in the new kernel when the last file using this FLB is finished. receives the live object via'argp->obj'for cleanup. say bye bestie πownerβ module reference
okay so, real talk: the unpreserve description just says "Receives the handle via" and thenβ¦ stops π that's exactly how it is in the original, and we are not inventing the rest. if your brain wants the ending, go read the header β don't @ me π
π Description π
Operations that manage global shared data with file bound lifecycle β triggered by the first file that uses it and concluded by the last file that uses it, across all sessions. first one in, last one out, that's the rule π
likeβ¦ it's giving main character energy for your shared object. one file kicks it off, one file wraps it up, and everything in between is just vibes and lifecycle management π
β SEE ALSO β
- Kernel file
./include/linux/liveupdate.hstruct liveupdate_file_op_args(9)struct liveupdate_file_ops(9)struct liveupdate_file_handler(9)struct liveupdate_flb_op_args(9)struct liveupdate_flb(9)
go read the related pages, bestie, they're all linked and they all ate π₯
and that's the page!! sign-off time π this one lives in ./include/linux, and it's dated October 2026 β so yeah, we're reading from the future, iykyk πβ¨ slay, bye π¦π
π¦ 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