mirror of
https://github.com/torvalds/linux
synced 2026-07-21 17:50:43 +09:00
We currently do not guarantee compatibility due to ongoing development, so mention this explicitly in the user-facing documentation. Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com> Acked-by: Pratyush Yadav <pratyush@kernel.org> Link: https://patch.msgid.link/20260527153725.1770394-1-luca.boccassi@gmail.com Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
52 lines
1.8 KiB
ReStructuredText
52 lines
1.8 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
================
|
|
Live Update uAPI
|
|
================
|
|
:Author: Pasha Tatashin <pasha.tatashin@soleen.com>
|
|
|
|
ioctl interface
|
|
===============
|
|
.. kernel-doc:: kernel/liveupdate/luo_core.c
|
|
:doc: LUO ioctl Interface
|
|
|
|
ioctl uAPI
|
|
===========
|
|
.. kernel-doc:: include/uapi/linux/liveupdate.h
|
|
|
|
Note on Compatibility
|
|
=====================
|
|
|
|
Note that the Live Update feature is still under development and subject to
|
|
change, so compatibility is not guaranteed when kexec rebooting between
|
|
different kernel versions. This is expected to change and stabilize in a future
|
|
version.
|
|
|
|
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
|
|
========
|
|
|
|
- :doc:`Live Update Orchestrator </core-api/liveupdate>`
|