systemd/src/core
NeilBrown 83897d5470 core/mount: pass "-c" flag to /bin/umount (#6093)
"-c", which is short for "--no-canonicalize", tells /bin/umount
that the path name is canonical (no .. or symlinks etc).

systemd always uses a canonical name, so this flag is appropriate
for systemd to use.
Knowing that the path is canonical allows umount to avoid
some calls to lstat() on the path.

From v2.30 "-c" goes further and causes umount to avoid all
attempts to 'lstat()' (or similar) the path.  This is important
when automatically unmounting a filesystem, as lstat() can
hang indefinitely in some cases such as when an NFS server
is not accessible.

"-c" has been supported since util-linux 2.17 which is before the
earliest version supported by systemd.
So "-c" is safe to use now, and once util-linux v2.30 is in use,
it will allow mounts from non-responsive NFS servers to be
unmounted.
2017-06-07 15:28:23 +03:00
..
.gitignore Move daemon-reload from package %post scripts to file triggers 2015-11-15 18:38:37 -05:00
audit-fd.c audit-fd: check for CAP_AUDIT_WRITE before opening an audit socket 2017-05-12 14:43:39 +01:00
audit-fd.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
automount.c Allow TimeoutSec=0 to work as documented in mount units and elsewhere (#6013) 2017-05-23 09:42:26 +02: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 Never call unmap with MAP_FAILED. (#5590) 2017-03-14 17:33:22 -04: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 tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04: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 core: fix values of BindPaths and BindReadOnlyPaths properties on 32-bit platforms (#5713) 2017-04-10 13:20:17 +02: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 Merge pull request #5276 from poettering/resolved-cname 2017-02-12 15:08:19 -05:00
dbus-manager.h manager: refuse reloading/reexecing when /run is overly full 2017-02-06 16:58:06 +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 job: add JobRunningTimeoutSec for JOB_RUNNING state 2017-04-25 18:00:29 +02:00
dbus-unit.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
dbus.c core: downgrade legit error logs (#5705) 2017-04-10 13:12:25 +02:00
dbus.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
device.c core/device: Use JobRunningTimeoutSec= for device units 2017-04-25 18:00:36 +02: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 core: fix warning about unsigned variable (#5935) 2017-05-11 08:15:28 +02:00
execute.h core: add RootImage= setting for using a specific image file as root directory for a service 2017-02-07 12:19:42 +01:00
hostname-setup.c core: when booting up, initialize hostname to compile-time fallback hostname 2017-02-17 10:19:26 +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: Ensure policy exists before asking the kernel to load it (#5777) 2017-04-21 10:53:40 +02:00
ima-setup.h tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
job.c Merge pull request #5164 from Werkov/ordering-for-_netdev-devices 2017-04-29 18:40:19 +02:00
job.h job: add JobRunningTimeoutSec for JOB_RUNNING state 2017-04-25 18:00:29 +02: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 core/killall: add (void) 2017-02-20 16:02:18 -05: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 load-dropin: propagate errors properly from unit_name_compatible() (#6002) 2017-05-22 09:18:00 -04:00
load-dropin.h core: when loading .wants and .requires, follow the same logic as .d conf dropins 2017-02-07 21:31:22 -05:00
load-fragment-gperf-nulstr.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
load-fragment-gperf.gperf.m4 Merge pull request #5926 from fsateler/condition-uid 2017-05-29 15:18:38 +02:00
load-fragment.c load-fragment: don't print error about incorrect syntax when IPv6 is disabled (#5791) 2017-04-25 09:31:52 +02: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 manager: run environment generators 2017-02-20 18:49:14 -05:00
main.c tree-wide: when %m is used in log_*, always specify errno explicitly 2017-05-19 14:24:03 -04:00
Makefile build-sys: add stub makefiles to make emacs easier to use 2012-04-12 13:35:56 +02:00
manager.c cgroup: rename cg_unified() → cg_unified_controller() 2017-02-24 18:00:04 +01:00
manager.h Merge pull request #4538 from fbuihuu/confirm-spawn-fixes 2016-11-18 11:08:06 +01:00
meson.build meson: Add missing dependency on libseccomp for libcore 2017-05-09 13:13:43 +02:00
mount-setup.c core/mount-setup: if unified hierarchy is not supported, fall back to legacy 2017-02-22 11:52:31 -05:00
mount-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mount.c core/mount: pass "-c" flag to /bin/umount (#6093) 2017-06-07 15:28:23 +03: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: open /proc/self/mountinfo early to allow mounts over /proc (#5985) 2017-05-19 14:38:40 +02:00
namespace.h core: add RootImage= setting for using a specific image file as root directory for a service 2017-02-07 12:19:42 +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 cgroup: rename cg_unified() → cg_unified_controller() 2017-02-24 18:00:04 +01:00
scope.h Merge pull request #3762 from poettering/sigkill-log 2016-07-22 09:18:30 +02:00
selinux-access.c basic/log: fix _printf_ annotation on log_object_internalv 2017-04-20 14:42:43 -04: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 tree-wide: remove unused variables 2017-04-28 23:56:44 +02: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 systemctl: avoid spurious warning about missing reboot-param file 2017-05-30 23:41:31 -04: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 Fix missing space in comments (#5439) 2017-02-24 18:14:02 +01: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: move checking default_dependencies into target_add_default_dependencies. (#5762) 2017-04-21 11:00:47 +02:00
target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
timer.c core/timer: downgrade message about random time addition (#5229) 2017-02-05 09:37:46 +01: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 job: add JobRunningTimeoutSec for JOB_RUNNING state 2017-04-25 18:00:29 +02: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 pid1: improve logging when failing to remount / ro (#5940) 2017-05-11 18:12:41 +02: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: when deserializing a unit, fully restore its cgroup state 2017-05-04 09:41:23 +02:00
unit.h job: add JobRunningTimeoutSec for JOB_RUNNING state 2017-04-25 18:00:29 +02:00
user.conf core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00