]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/core/execute.c
core: Add RootEphemeral= setting
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 6 Jun 2023 15:44:09 +0000 (17:44 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 21 Jun 2023 10:48:46 +0000 (12:48 +0200)
commit9c0c670125ff065c22c12bb82f1f20c7b2c8c46d
treece51381fbcc6844f0f480db1aeb55ec7dfd97281
parentdbc3cc8b832a7648f68b69e1322563d64cffd9c4
core: Add RootEphemeral= setting

This setting allows services to run in an ephemeral copy of the root
directory or root image. To make sure the ephemeral copies are always
cleaned up, we add a tmpfiles snippet to unconditionally clean up
/var/lib/systemd/ephemeral. To prevent in use ephemeral copies from
being cleaned up by tmpfiles, we use the newly added COPY_LOCK_BSD
and BTRFS_SNAPSHOT_LOCK_BSD flags to take a BSD lock on the ephemeral
copies which instruct tmpfiles to not touch those ephemeral copies as
long as the BSD lock is held.
man/org.freedesktop.systemd1.xml
man/systemd.exec.xml
src/core/dbus-execute.c
src/core/execute.c
src/core/execute.h
src/core/load-fragment-gperf.gperf.in
src/core/service.c
src/core/unit.c
src/shared/bus-unit-util.c
test/fuzz/fuzz-unit-file/directives-all.service
tmpfiles.d/systemd.conf.in