Ninjatrappeur's systemd working tree
Go to file
Lennart Poettering 228af36fff core: add new PrivateMounts= unit setting
This new setting is supposed to be useful in most cases where
"MountFlags=slave" is currently used, i.e. as an explicit way to run a
service in its own mount namespace and decouple propagation from all
mounts of the new mount namespace towards the host.

The effect of MountFlags=slave and PrivateMounts=yes is mostly the same,
as both cause a CLONE_NEWNS namespace to be opened, and both will result
in all mounts within it to be mounted MS_SLAVE. The difference is mostly
on the conceptual/philosophical level: configuring the propagation mode
is nothing people should have to think about, in particular as the
matter is not precisely easyto grok. Moreover, MountFlags= allows configuration
of "private" and "slave" modes which don't really make much sense to use
in real-life and are quite confusing. In particular PrivateMounts=private means
mounts made on the host stay pinned for good by the service which is
particularly nasty for removable media mount. And PrivateMounts=shared
is in most ways a NOP when used a alone...

The main technical difference between setting only MountFlags=slave or
only PrivateMounts=yes in a unit file is that the former remounts all
mounts to MS_SLAVE and leaves them there, while that latter remounts
them to MS_SHARED again right after. The latter is generally a nicer
approach, since it disables propagation, while MS_SHARED is afterwards
in effect, which is really nice as that means further namespacing down
the tree will get MS_SHARED logic by default and we unify how
applications see our mounts as we always pass them as MS_SHARED
regardless whether any mount namespacing is used or not.

The effect of PrivateMounts=yes was implied already by all the other
mount namespacing options. With this new option we add an explicit knob
for it, to request it without any other option used as well.

See: #4393
2018-06-12 16:12:10 +02:00
.github github: use multiple issue templates 2018-05-10 07:58:38 -07:00
.mkosi mkosi: ensure the 'hostname' tool is available in the build environment 2018-04-19 11:30:18 +02:00
catalog tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
coccinelle tools: make various scripts find the top-levle git dir automatically 2018-06-07 16:22:16 +02:00
doc doc: typo fixes, mostly duplicated words 2018-06-12 15:49:37 +02:00
factory/etc factory: remove broken pam_limits 2014-07-30 15:21:54 +02:00
hwdb hwdb: HP ZBook Studio G4 wireless switch 2018-06-07 13:13:47 +02:00
man man: mention that /var/lib/systemd/timesync/clock might have the compilation timestamp 2018-06-12 13:06:11 +02:00
modprobe.d Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
network tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
po po: update French translation 2018-05-30 08:21:40 +02:00
presets tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
rules udev: create /dev/disk/by-label symlink for LUKS2 (#8998) 2018-05-15 16:51:07 +02:00
shell-completion bash-completion: add completion for portablectl 2018-05-28 18:15:06 +09:00
src core: add new PrivateMounts= unit setting 2018-06-12 16:12:10 +02:00
sysctl.d sysctl.d: request ECN on both in and outgoing connections (#9143) 2018-05-31 13:30:10 +02:00
sysusers.d network: set DynamicUser= to systemd-networkd.service 2018-05-22 22:37:34 +09:00
test Merge pull request #9246 from keszybz/ellipsize-invalid-mem-ref 2018-06-11 12:52:38 +02:00
tmpfiles.d add new portable service framework 2018-05-24 17:01:57 +02:00
tools coverity.sh: check that coverity responds with 200 2018-06-07 17:49:54 +00:00
travis-ci travis: use Fedora 27 as a base image 2018-06-05 12:03:18 +03:00
units add new portable service framework 2018-05-24 17:01:57 +02:00
xorg login: avoid external process call 2018-01-12 18:02:57 +01:00
.dir-locals.el meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
.editorconfig editorconfig: add rule for meson.build files (#6671) 2017-08-28 16:37:23 +02:00
.gitattributes git: indicate that tabs are never OK in the systemd tree 2013-10-30 02:25:38 +01:00
.gitignore Add mkosi.output/ to .gitignore 2017-11-29 14:33:56 +01:00
.mailmap mailmap: one more person 2018-03-05 17:21:09 +01:00
.travis.yml travis: stop sending notifications to the authors of randomly chosen commits 2018-06-07 17:51:01 +00:00
.vimrc vimrc: fix indentation logic for our docbook xml files 2016-04-29 12:23:34 +02:00
.ycm_extra_conf.py ycm: add doc string for all the functions in configuration file 2017-11-29 13:21:49 -07:00
configure build-sys: add basic support for ./configure && make && make install 2017-07-18 10:05:06 -04:00
LICENSE.GPL2 relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
LICENSE.LGPL2.1 licence: remove references to old FSF address 2012-12-17 11:41:31 +01:00
Makefile build-sys: Fix Makefile wrapper for install target (#6548) 2017-08-07 11:29:20 +02:00
meson.build meson: also reject shifts that change the sign bit 2018-06-11 17:06:58 +02:00
meson_options.txt build-sys: Add option to link systemctl statically 2018-05-31 16:05:00 +02:00
mkosi.build mkosi: drop dumping all test output to console again 2018-04-19 11:41:28 +02:00
mkosi.default mkosi: create .mkosi directory 2016-10-06 11:53:58 -04:00
NEWS NEWS: typo fixes 2018-06-12 15:41:38 +02:00
README Turn VALGRIND variable into a meson configuration switch 2018-05-17 09:54:36 -07:00
README.md README.md: embed the Travis CI badge 2018-06-07 17:53:43 +00:00
TODO update TODO 2018-06-07 18:20:42 +02:00
zanata.xml po: add basic fedora.zanata.org configuration 2018-02-19 13:56:57 +01:00

systemd - System and Service Manager

Count of open issues over time Count of open pull requests over time Build Status
Coverity Scan Status
CII Best Practices
Build Status

Details

General information about systemd can be found in the systemd Wiki.

Information about build requirements are provided in the README file.

Consult our NEWS file for information about what's new in the most recent systemd versions.

Please see the HACKING file for information how to hack on systemd and test your modifications.

Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.

When preparing patches for systemd, please follow our Coding Style Guidelines.

If you are looking for support, please contact our mailing list or join our IRC channel.

Stable branches with backported patches are available in the stable repo.