]> git.ipfire.org Git - thirdparty/systemd.git/commit
LUO: add support for preserving third party sessions 41683/head
authorLuca Boccassi <luca.boccassi@gmail.com>
Wed, 15 Apr 2026 12:11:30 +0000 (13:11 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Fri, 15 May 2026 12:46:08 +0000 (13:46 +0100)
commitc10c2674f39929998009e735ff85ed7b8378ec04
tree08a93d83e59a4419ff72d93e663313f268f2408f
parent0854ac48efa7d273d36a66c5ac86fef2053f122f
LUO: add support for preserving third party sessions

LUO sessions cannot be nested under other sessions. This means we need
to handle them explicitly, and held them open in the shutdown binary
like we do with our own internal session, to allow services to create
their own.

The requirement to support third party sessions comes from VMMs that
wish to preserve VM(s) state(s) across kexec, as some file descriptors
(KVM's vmfd from the KVM_CREATE_VM ioctl) cannot be transfered between
processes via SCM_RIGHTS, so they cannot be stashed in the FD Store
directly. Also some file descriptors have to be handled all together or
not at all, again to do with KVM and devices that are all part of the
same vm.
docs/FILE_DESCRIPTOR_STORE.md
src/core/luo.c
src/shared/luo-util.c
src/shared/luo-util.h
src/test/test-luo.c
test/units/TEST-91-LIVEUPDATE.sh