There have been reports of log messages like: automount[nnnn]: handle_packet_expire_direct: can't find map entry for (1048647,114082) These messages are fatal because the direct mount path must be known to lookup the mount. Historically the autofs kernel communication packet size is fixed and based on the maximum path name component size used by indirect mounts but direct mounts have a variable length multi-component path. To solve this while maintaining compatability with indirect mounts, an index of (device, inode) tuples is maintained to allow lookup of the direct mount path so the map entry can be located. Also it's necessary to understand that direct mount maps are always read fully in order to mount direct mount triggers for all direct mount map entries so they must exist so this approach should always work. So the message above only occurs for direct mounts and the ioctl file handle used by each direct mount is stored in the map entry so it's not possibile to respond to the kernel at all if the map entry cache entry can't be found. Unfortunately map entry cache cleanup on update is complicated and can lead to problems which (I believe) is what's happening here. While I suspect your reproducer is a different case to what I've seen it probably symtomatic of the underlying problem. Patches "autofs-5.1.9 - fix devid update on reload" and "autofs-5.1.9 - fix stale direct mount trigger not umounted on expire" are the main fixes I was able to identify working through the code. Please test them and let me know how it goes. Note: The CHANGELOG hunks will conflict so you'll need to compensate for that. Ian Ian Kent (9): autofs-5.1.9 - quiet possibly noisy log message autofs-5.1.9 - fix devid update on reload autofs-5.1.9 - fix cache writelock must be taken in update_map_cache() autofs-5.1.9 - fix skip valid map entries on expire cleanup autofs-5.1.9 - remove unnecessary call to set_direct_mount_tree_catatonic() autofs-5.1.9 - remove unnecessary assignment in umount_multi() autofs-5.1.9 - fix direct mount trigger umount failure case autofs-5.1.9 - refactor do_umount_autofs_direct() autofs-5.1.9 - fix stale direct mount trigger not umounted on expire CHANGELOG | 9 +++ daemon/automount.c | 35 +++++------- daemon/direct.c | 130 ++++++++++++++++++++++++++------------------ daemon/lookup.c | 33 ++++------- daemon/state.c | 17 ++---- include/automount.h | 2 +- lib/mounts.c | 1 - 7 files changed, 118 insertions(+), 109 deletions(-) -- 2.50.1