From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050719 Red Hat/1.0.6-1.4.1 Firefox/1.0.6 Description of problem: For browsable autofs maps, a mount request that arrives at the same time an expire is happening can fail to perform the needed mount. This happens becuase the directory exists and so the revalidate succeeds when we need it to fail so that lookup is called on the same dentry to do the mount. Instead lookup is called on the next path component which should be whithin the mount, but the parent isn't mounted. The solution is to allow the revalidate to continue and perform the mount as no directory creation (at mount time) is needed for browsable mount entries. Version-Release number of selected component (if applicable): How reproducible: Sometimes Steps to Reproduce: I put together the following reproducer for this: auto.master: /multi /etc/auto.multi --timeout=4 --ghost and auto.multi contains dir / segfault:/export/multi \ /foo segfault:/export/multi/thefoodir Then, I simply run the following script: #!/bin/bash while true; do cat /segfault/multi/foo/bar > /dev/null if [ $? -ne 0 ]; then echo "Failed!" exit 1 fi sleep 4 done Once we get a mount request at the same time as a pending expiry, we will trigger this bug. In my testing, this typically occurs withing the first 3 iterations of the loop. Additional info:
committed in -22.25
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2006-0132.html