Bug 1309247

Summary: df -l hangs on nfs share when autofs is involved
Product: Red Hat Enterprise Linux 7 Reporter: Dmitry Zhukovski <dzhukous>
Component: coreutilsAssignee: Ondrej Vasik <ovasik>
Status: CLOSED ERRATA QA Contact: Jakub Prokes <jprokes>
Severity: medium Docs Contact: Petr Bokoc <pbokoc>
Priority: unspecified    
Version: 7.2CC: fsorenso, jhunt, jprokes, jscotka, jshivers, kdudka, ovasik, pbokoc
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: coreutils-8.22-17.el7 Doc Type: Bug Fix
Doc Text:
*NFS* shares mounted by *autofs* no longer cause timeouts when listing local mounts using "df" A bug in "df" could previously cause *NFS* shares mounted by *autofs* to be detected as local mounts. Attempts to list only local mounts using the "-l" option then timed out, because "df" was attempting to list these incorrectly detected shares. This bug has been fixed, and listing local mounts now works as expected.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-04 07:40:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Dmitry Zhukovski 2016-02-17 10:27:32 UTC
Description of problem:
df -l hangs on nfs share when autofs is involved

Version-Release number of selected component (if applicable):
coreutils-8.22-15.el7.x86_64

How reproducible:
Everytime


Steps to Reproduce:
1. define any export on rhel7 server
# cat /etc/exports
/var/export	*(rw,no_root_squash)

2. Configure /net automount entry
# cat /etc/auto.master
/net	-hosts

3. check that you can browse nfs share 
# ls -l /net/rhel7-1/var/export/
total 0
-rw-r--r--. 1 root root 0 Feb 16 09:03 1

4. stop nfs on server 
# systemctl stop nfs-server

5. run df -l <- local filesystems

Actual results:
df hangs

Expected results:
df shows local file systems

Additional info:
if nfs share mounted directly then df -l filters it out and does not hang.

Comment 2 Kamil Dudka 2016-02-17 11:34:40 UTC
It hangs on a stat() call in filter_mount_list().  The autofs file system is not recognized as a remote file system (for which the stat() call is avoided) because there is no ':' in the mounted file (as in the case of NFS mounts).  This behavior does not anyhow differ from the latest upstream version of df.

Comment 6 Kamil Dudka 2016-02-19 09:44:21 UTC
Fix proposed to gnulib upstream:

http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/35708

Comment 7 Kamil Dudka 2016-02-20 08:17:40 UTC
upstream commit:

http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=781788ee

Comment 10 Frank Sorenson 2016-05-12 20:43:00 UTC
Note that this bz will also result in all exported filesystems from a particular nfs server becoming mounted, and can cause problems even if the nfs server is still running (such as when the nfs server is remote and has a large number of exports).

Comment 24 errata-xmlrpc 2016-11-04 07:40:12 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2497.html