]> git.ipfire.org Git - thirdparty/systemd.git/commit
automount: handle expire_tokens when the mount unit changes its state (#3434)
authormichaelolbrich <m.olbrich@pengutronix.de>
Sun, 5 Jun 2016 15:25:14 +0000 (17:25 +0200)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sun, 5 Jun 2016 15:25:14 +0000 (11:25 -0400)
commit0a62f81045dd810c8f1223cccbac4d706ea2cb45
tree5218c0d96b8173529c8778ff7bee1a4c745fad9c
parent592705f2f708b313ef3e07677463fe676cdd774a
automount: handle expire_tokens when the mount unit changes its state (#3434)

This basically reverts 7b2fd9d51259f6cf350791434e640ac3519acc6c ("core:
remove duplicate code in automount_update_mount()").

This was not duplicate code. The expire_tokens need to be handled as well:
Send 0 == success for MOUNT_DEAD (umount successful), do nothing for
MOUNT_UNMOUNTING (not yet done) and an error for everything else.

Otherwise the automount logic will assume unmounting is not done and will
not send any new requests for mounting. As a result, the corresponding
mount unit is never mounted.

Without this, automounts with TimeoutIdleSec= are broken. Once the idle
timeout triggered a umount, any access to the corresponding filesystem
hangs forever.

Fixes #3332.
src/core/automount.c