]> git.ipfire.org Git - thirdparty/systemd.git/commit
mount: make sure got into MOUNT_DEAD state after a successful umount (#3444)
authormichaelolbrich <m.olbrich@pengutronix.de>
Mon, 6 Jun 2016 19:59:51 +0000 (21:59 +0200)
committerLennart Poettering <lennart@poettering.net>
Mon, 6 Jun 2016 19:59:51 +0000 (21:59 +0200)
commit53203e5f8f9a79d0ad774e29ea165b471e64619f
tree94e5576db6c1f86ad769dcf183526300aab9e382
parentb2bb19bbda8f5ab3ab497165bc52a0ef952348c4
mount: make sure got into MOUNT_DEAD state after a successful umount (#3444)

Without this code the following can happen:
1. Open a file to keep a mount busy
2. Try to stop the corresponding mount unit with systemctl
   -> umount fails and the failure is remembered in mount->result
3. Close the file and umount the filesystem manually
   -> mount_dispatch_io() calls "mount_enter_dead(mount, MOUNT_SUCCESS)"
   -> Old error in mount->result is reused and the mount unit enters a
      failed state

Clear the old error result when 'mountinfo' reports a successful umount to
fix this.
src/core/mount.c