chiark / gitweb /
tmpfiles: silently ignore any path that passes through autofs (#6506)
authorNeilBrown <neil@brown.name>
Mon, 4 Sep 2017 13:35:07 +0000 (23:35 +1000)
committerSven Eden <yamakuzure@gmx.net>
Mon, 4 Sep 2017 13:35:07 +0000 (23:35 +1000)
commit5c61c6352ad14bf0b392a5af2588e3ed319ad86b
treec0ae9b1072e4a46a20f3eb5db42ed1a03a6920c0
parent4b9303ec2924f73180408479a0f160868165f756
tmpfiles: silently ignore any path that passes through autofs (#6506)

If a path passes though an autofs filesystem, then accessing
the path might trigger and automount.  As elogind-tmpfiles is run before
the network is up, and as automounts are often used for networked
filesystems, this can cause a deadlock.

So chase_symlinks is enhance to accept a new flag which tells it
to check for autofs, and return -EREMOTE if autofs is found.

tmpfiles is changed to check just before acting on a path so that it
can avoid autofs even if a symlink was created earlier by tmpfiles
that would send this path through an autofs.

This fixes a deadlock that happens when /home is listed in /etc/fstab as
x-elogind.automount for an NFS directory.
src/basic/fs-util.c
src/basic/fs-util.h