From: Luca Boccassi <[email protected]> systemd v261 will add native support for LUO via the file descriptor store mechanism. Add a brief paragraph in the LUO userspace documentation page to inform users.
Signed-off-by: Luca Boccassi <[email protected]> --- NOTE: the external links will mention LUO after the next release is published, which should happen within ~4 weeks Documentation/userspace-api/liveupdate.rst | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Documentation/userspace-api/liveupdate.rst b/Documentation/userspace-api/liveupdate.rst index 41c0473e4f16..f6efc32fb40b 100644 --- a/Documentation/userspace-api/liveupdate.rst +++ b/Documentation/userspace-api/liveupdate.rst @@ -14,6 +14,29 @@ ioctl uAPI =========== .. kernel-doc:: include/uapi/linux/liveupdate.h +Userspace Integration +===================== + +systemd (since version v261) uses LUO to preserve its per-service file +descriptor store across a kexec-based live update. Services opt in by setting +``FileDescriptorStoreMax=`` and ``FileDescriptorStorePreserve=`` in their unit, +and push file descriptors with a name into the store via +``sd_pid_notify_with_fds(... "FDSTORE=1\nFDNAME=foo")``. + +Services may also create their own LUO sessions (via ``/dev/liveupdate``) and +push the resulting session fds into their file descriptor store like any other +fd. systemd detects such session fds and handles them accordingly, and +hands the re-retrieved session fd back to the service after kexec, using the +existing file descriptor store service interface. + +For details, see: + +- `File Descriptor Store <https://systemd.io/FILE_DESCRIPTOR_STORE/>`_ +- `systemd.service(5) FileDescriptorStorePreserve= + <https://www.freedesktop.org/software/systemd/man/latest/systemd.service.html#FileDescriptorStorePreserve=>`_ +- `sd_pid_notify_with_fds(3) + <https://www.freedesktop.org/software/systemd/man/latest/sd_pid_notify_with_fds.html>`_ + See Also ======== -- 2.47.3
