Systemd/src/core
Franck Bui 03b8cfede9 core: make sure to init mount params before calling mount_is_extrinsic() (#5087)
When a new entry appears in /proc/self/mountinfo, mount_setup_unit()
allocated a new mount unit for it and starts initializing it.

mount_setup_unit() is also used to update a mount unit when a change happens in
/proc/self/mountinfo, for example a mountpoint can be remounted with additional
mount options.

This patch introduces 2 separate functions to deal with those 2 cases instead
of mount_setup_unit() dealing with both of them. The common code is small and
doing the split makes the code easier to read and less error prone if extended
later.

It also makes sure to initialize in both functions the mount parameters of the
mount unit before calling mount_is_extrinsic() since this function relies on
them.

Fixes: #4902
2017-01-16 15:19:13 -05:00
..
.gitignore Move daemon-reload from package %post scripts to file triggers 2015-11-15 18:38:37 -05:00
audit-fd.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
audit-fd.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
automount.c tree-wide: stop using canonicalize_file_name(), use chase_symlinks() instead 2016-12-01 00:25:51 +01:00
automount.h automount: rework propagation between automount and mount units 2016-05-02 16:51:45 +02:00
bus-policy.c util-lib: split out allocation calls into alloc-util.[ch] 2015-10-27 13:45:53 +01:00
bus-policy.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
busname.c Rename formats-util.h to format-util.h 2016-11-07 10:15:08 -05:00
busname.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
cgroup.c cgroup: properly check for ignore-notfound paths (#4803) 2016-12-02 09:23:23 -05:00
cgroup.h core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
dbus-automount.c automount: implement transient automounts 2016-06-06 07:33:54 +02:00
dbus-automount.h automount: implement transient automounts 2016-06-06 07:33:54 +02:00
dbus-busname.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-busname.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-cgroup.c core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
dbus-cgroup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-execute.c Modify mount_propagation_flags_from_string to return a normal int code 2016-12-17 13:57:04 -05:00
dbus-execute.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-job.c core/dbus-job, systemctl: shorten some code 2016-11-16 21:01:11 -05:00
dbus-job.h core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
dbus-kill.c tree-wide: remove newlines from unit_write_drop_in 2016-05-28 16:29:42 -04:00
dbus-kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-manager.c core: modernize the SwitchRoot() bus method a bit 2016-12-20 20:00:09 +01:00
dbus-manager.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-mount.c mount: add new ForceUnmount= setting for mount units, mapping to umount(8)'s "-f" switch 2016-08-27 10:46:52 -04:00
dbus-mount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-scope.c core: make sure RequestStop signal is send directed 2016-07-20 14:35:15 +02:00
dbus-scope.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-service.c core: make "Restart" service property accessible via the transient API 2016-12-14 00:54:13 +01:00
dbus-service.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-socket.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-socket.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-swap.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-swap.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-timer.c tree-wide: remove newlines from unit_write_drop_in 2016-05-28 16:29:42 -04:00
dbus-timer.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-unit.c core: GC redundant device jobs from the run queue 2016-11-16 15:03:26 +01:00
dbus-unit.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
dbus.c core: rename "clients" field of Job structure to "bus_track" 2016-11-16 15:03:26 +01:00
dbus.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
device.c core: make sure to not call device_is_bound_by_mounts() when dev is null (#5033) 2017-01-10 09:11:34 +01:00
device.h core: make mount units from /proc/self/mountinfo possibly bind to a device (#4515) 2016-12-16 17:13:58 +01:00
dynamic-user.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
dynamic-user.h core: add a concept of "dynamic" user ids, that are allocated as long as a service is running 2016-07-22 15:53:45 +02:00
emergency-action.c failure-action: generalize failure action to emergency action 2016-10-21 15:13:50 +02:00
emergency-action.h failure-action: generalize failure action to emergency action 2016-10-21 15:13:50 +02:00
execute.c Merge pull request #4806 from poettering/keyring-init 2016-12-13 23:24:42 -05:00
execute.h Merge pull request #4806 from poettering/keyring-init 2016-12-13 23:24:42 -05:00
hostname-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
ima-setup.c ima: Write the policy filename into IMA's sysfs policy file (#4766) 2016-11-29 10:47:20 -05:00
ima-setup.h tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
job.c core: fix typo 2016-12-21 19:09:29 +01:00
job.h core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
kill.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
killall.c tree-wide: replace all readdir cycles with FOREACH_DIRENT{,_ALL} (#4853) 2016-12-09 10:04:30 +01:00
killall.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kmod-setup.c Ensure kdbus isn't used (#3501) 2016-06-18 17:24:23 -04:00
kmod-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
load-dropin.c core: don't drop transient drop-ins when loading the rest 2016-04-12 13:43:31 +02:00
load-dropin.h core: rework generator dir logic, move the dirs into LookupPaths structure 2016-04-12 13:43:29 +02:00
load-fragment-gperf.gperf.m4 core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
load-fragment.c Modify mount_propagation_flags_from_string to return a normal int code 2016-12-17 13:57:04 -05:00
load-fragment.h build-sys: add check for gperf lookup function signature (#5055) 2017-01-10 08:39:05 +01:00
locale-setup.c tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
locale-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
machine-id-setup.c core: machine_id_setup overwrites broken machine-id 2016-12-13 12:58:42 +00:00
machine-id-setup.h core: rework machine-id-setup.c to use the calls from id128-util.[ch] 2016-07-22 12:59:36 +02:00
macros.systemd.in hwdb: use systemd-hwdb instead of obsolete udevadm hwdb (#4722) 2016-11-23 19:21:56 +01:00
main.c util-lib: various improvements to kernel command line parsing 2016-12-21 19:09:08 +01:00
Makefile build-sys: add stub makefiles to make emacs easier to use 2012-04-12 13:35:56 +02:00
manager.c core: downgrade "Time has been changed" to debug (#4906) 2016-12-18 13:21:19 +01:00
manager.h Merge pull request #4538 from fbuihuu/confirm-spawn-fixes 2016-11-18 11:08:06 +01:00
mount-setup.c core: add comment why we don't bother with MS_SHARED remounting of / in containers 2016-12-20 20:00:08 +01:00
mount-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mount.c core: make sure to init mount params before calling mount_is_extrinsic() (#5087) 2017-01-16 15:19:13 -05:00
mount.h mount: add new ForceUnmount= setting for mount units, mapping to umount(8)'s "-f" switch 2016-08-27 10:46:52 -04:00
namespace.c core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
namespace.h core: add ability to define arbitrary bind mounts for services 2016-12-14 00:54:10 +01:00
org.freedesktop.systemd1.conf core: add bus calls for determining jobs waiting for other jobs 2016-11-16 17:01:46 +01:00
org.freedesktop.systemd1.policy.in.in core: rework policykit hookup 2015-02-18 18:56:27 +01:00
org.freedesktop.systemd1.service move more main systemd parts to core/ 2012-04-12 14:24:40 +02:00
path.c core: add "invocation ID" concept to service manager 2016-10-07 20:14:38 +02:00
path.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
scope.c pid1: simplify the logic in two statements related to killing processes 2016-12-09 13:53:31 -05:00
scope.h Merge pull request #3762 from poettering/sigkill-log 2016-07-22 09:18:30 +02:00
selinux-access.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-access.h core,network: Use const qualifiers for block-local variables in macro functions (#4019) 2016-08-23 12:29:30 +03:00
selinux-setup.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
service.c core: add AF_VSOCK support to socket units 2017-01-10 15:29:04 +00:00
service.h man: fix $SERVICE_RESULT/$EXIT_CODE/$EXIT_STATUS documentation 2016-12-06 13:37:14 +01:00
show-status.c journald,core: add short comments we we keep reopening /dev/console all the time 2016-10-20 13:12:53 +02:00
show-status.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
shutdown.c shutdown: already sync IO before we enter the final killing spree 2016-07-12 17:38:19 +02:00
slice.c unit: unify some code with new unit_new_for_name() call 2016-11-02 11:29:59 -06:00
slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
smack-setup.c tree-wide: indentation fixes 2016-02-26 22:23:38 +01:00
smack-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
socket.c core: add missing "=" in message 2017-01-11 16:37:34 -05:00
socket.h systemd: do not serialize peer, bump count when deserializing socket instead 2016-08-05 08:16:31 -04:00
swap.c core: make unit_free() accept NULL pointers 2016-12-01 00:25:51 +01:00
swap.h core: add a concept of "dynamic" user ids, that are allocated as long as a service is running 2016-07-22 15:53:45 +02:00
system.conf core: add possibility to set action for ctrl-alt-del burst (#4105) 2016-10-06 21:08:21 -04:00
systemd.pc.in build-sys: move systemd.pc from pkgconfiglibdir back into pkgconfigdatadir 2015-04-21 20:35:17 +02:00
target.c core: make sure targets that get a default Conflicts=shutdown.target are also ordered against it 2016-12-14 10:13:52 +01:00
target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
timer.c tree-wide: drop NULL sentinel from strjoin 2016-10-23 11:43:27 -04:00
timer.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
transaction.c tree-wide: use mfree more 2016-10-16 23:35:39 -04:00
transaction.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
triggers.systemd.in rpm triggers: do nothing if systemd is not running (#5065) 2017-01-12 10:16:20 +01:00
umount.c minor code beautifications 2016-12-07 18:38:41 +01:00
umount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit-printf.c core: add a note clarifying that we should be careful when adding new specifiers 2016-12-07 19:10:04 +01:00
unit-printf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit.c core: implicitly order units with PrivateTmp= after systemd-tmpfiles-setup.service 2016-12-27 23:25:24 +01:00
unit.h Merge pull request #4538 from fbuihuu/confirm-spawn-fixes 2016-11-18 11:08:06 +01:00
user.conf core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00