Re: [PATCH v5 0/6] liveupdate: Add LIVEUPDATE_SESSION_FREEZE ioctl

From: Pasha Tatashin

Date: Wed Nov 11 2026 - 06:47:44 EST


On Wed Nov 11, 2026 at 6:18 AM EST, Mike Rapoport wrote:
> Hi,
>
>> Currently, LUO freezes outgoing sessions only inside the
>> reboot(LINUX_REBOOT_CMD_KEXEC) syscall path, serially under global write
>> locks, and binds every outgoing session's lifetime strictly to an open
>> session FD until reboot.
>>
>> On hosts running many workloads (such as VMs or stateful daemons),
>> workloads do not all pause simultaneously inside reboot(): they quiesce
>> one by one ahead of the host kexec. Userspace needs an explicit
>> per-session freeze point to snapshot final file state (.freeze()) as
>> each workload pauses -- concurrently across sessions under per-session
>> locks -- along with a way to commit a frozen session into KHO so it
>> survives closing the session FD.
>>
>> This series introduces LIVEUPDATE_SESSION_FREEZE on session FDs:
>>
>> 1. Freeze (flags == 0):
>> Freezes all preserved files in the session under the per-session
>> mutex while keeping session lifetime tied to the session FD. The
>> session stays frozen as long as the FD remains open; closing the
>> session FD before reboot (for example, to abort the session or on
>> process exit/crash) runs .unfreeze() and .unpreserve() and reclaims
>> all resources. At kexec time, already-frozen sessions skip the late
>> auto-freeze step and are published into the outgoing KHO subtree.
>
> Let me bikeshed for a moment :)
> I'm not fond of "published" terminology. We just moved serialization
> from one place to another, why not keep the naming?

sgtm, I serialization it is.

--
Pasha