]> git.ipfire.org Git - thirdparty/systemd.git/commit
core: Implement timeout based umount/remount limit
authorKyle Walker <kwalker@redhat.com>
Wed, 13 Dec 2017 17:49:26 +0000 (12:49 -0500)
committerKyle Walker <kwalker@redhat.com>
Thu, 14 Dec 2017 13:58:56 +0000 (08:58 -0500)
commitd5641e0d7e8f55937fbc3a7ecd667e42c5836d80
treefcbbcf855ab16280e0029ea8a57cad5b89d66c3f
parentf581267a021546daa0c8c9aec2c1a3107964c118
core: Implement timeout based umount/remount limit

Remount, and subsequent umount, attempts can hang for inaccessible network
based mount points. This can leave a system in a hard hang state that
requires a hard reset in order to recover. This change moves the remount,
and umount attempts into separate child processes. The remount and umount
operations will block for up to 90 seconds (DEFAULT_TIMEOUT_USEC). Should
those waits fail, the parent will issue a SIGKILL to the child and continue
with the shutdown efforts.

In addition, instead of only reporting some additional errors on the final
attempt, failures are reported as they occur.
src/basic/process-util.c
src/basic/process-util.h
src/core/umount.c