core: add ability to define arbitrary bind mounts for services
authorLennart Poettering <lennart@poettering.net>
Wed, 23 Nov 2016 21:21:40 +0000 (22:21 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 13 Dec 2016 23:54:10 +0000 (00:54 +0100)
commitd2d6c096f6373a76f3b303a7a116e7cfe7139c4d
tree090a728bbf4f98d5758806f6c21f958a8d9e982c
parent8fceda937f3a177d9e27b403fb5e1b34138b05f5
core: add ability to define arbitrary bind mounts for services

This adds two new settings BindPaths= and BindReadOnlyPaths=. They allow
defining arbitrary bind mounts specific to particular services. This is
particularly useful for services with RootDirectory= set as this permits making
specific bits of the host directory available to chrooted services.

The two new settings follow the concepts nspawn already possess in --bind= and
--bind-ro=, as well as the .nspawn settings Bind= and BindReadOnly= (and these
latter options should probably be renamed to BindPaths= and BindReadOnlyPaths=
too).

Fixes: #3439
man/systemd.exec.xml
src/core/dbus-execute.c
src/core/execute.c
src/core/execute.h
src/core/load-fragment-gperf.gperf.m4
src/core/load-fragment.c
src/core/load-fragment.h
src/core/namespace.c
src/core/namespace.h
src/shared/bus-unit-util.c
src/test/test-ns.c