df: avoid stat() for dummy file systems with -l
commita19ff5d8179a7de38109fc78278229fd96f3941a
authorJosef Cejka <jcejka@suse.com>
Mon, 31 Jul 2017 23:50:34 +0000 (1 01:50 +0200)
committerPádraig Brady <P@draigBrady.com>
Tue, 29 Aug 2017 06:22:28 +0000 (28 23:22 -0700)
tree10e18fd7f65e5326699f2a12da7201ac69688838
parent7449f0d0abf6cd1636f8ee503972dd2198eb2b75
df: avoid stat() for dummy file systems with -l

When systemd is configured to automount a remote file system - see
'man systemd.automount(5)', then the mount point is initially
mounted by systemd with the file system type "autofs".
When the resource is used later on, then the wanted file system is
mounted over that mount point on demand.
'df -l' triggered systemd to mount the file system because it called
stat() on the mount point.
Instead of single-casing "autofs" targets, we can avoid stat()ing
all dummy file systems (which includes "autofs"), because those are
skipped later on in get_dev() anyway.

*src/df.c (filter_mount_list): Also skip dummy file systems unless
the -a option or a specific target are given.
* NEWS: Mention the fix.

Co-authored-by: Bernhard Voelker <mail@bernhard-voelker.de>
Fixes http://bugzilla.suse.com/show_bug.cgi?id=1043059
NEWS
THANKS.in
src/df.c