glibc/misc
Ian Kent 08b7e99882 Use autofs "ignore" mount hint in getmntent_r/getmntent
Historically autofs mounts were not included in mount table
listings. This is the case in other SysV autofs implementations
and was also the case with Linux autofs.

But now that /etc/mtab is a symlink to the proc filesystem
mount table the autofs mount entries appear in the mount table
on Linux.

Prior to the symlinking of /etc/mtab mount table it was
sufficient to call mount(2) and simply not update /etc/mtab
to exclude autofs mounts from mount listings.

Also, with the symlinking of /etc/mtab we have seen a shift in
usage toward using the proc mount tables directly.

But the autofs mount entries need to be retained when coming
from the proc file system for applications that need them
(largely autofs file system users themselves) so filtering out
these entries within the kernel itself can't be done. So it
needs be done in user space.

There are three reasons to omit the autofs mount entries.

One is that certain types of auto-mounts have an autofs mount
for every entry in their autofs mount map and these maps can
be quite large. This leads to mount table listings containing
a lot of unnecessary entries.

Also, this change in behaviour between autofs implementations
can cause problems for applications that use getmntent(3) in
other OS implementations as well as Linux.

Lastly, there's very little that user space can do with autofs
mount entries since this must be left to the autofs mount owner,
typically the automount daemon. But it can also lead to attempts
to access automount managed paths resulting mounts being triggered
when they aren't needed or mounts staying mounted for much longer
thay they need be. While the point of this change ins't to help
with these problems (and it can be quite a problem) it may be
a welcome side effect.

So the Linux autofs file system has been modified to accept a
pseudo mount option of "ignore" (as is used in other OS
implementations) so that user space can use this as a hint to
skip autofs entries on reading the mount table.

The Linux autofs automount daemon used getmntent(3) itself and
has been modified to use the proc file system directly so that
it can "ignore" mount option.

The use of this mount option is opt-in and a configuration
option has been added which defaults to not use this option
so if there are applications that need these entries, other
than autofs itself, they can be retained. Also, since this
filtering is based on an added mount option earlier versions
of Linux autofs iand other autofs file system users will not
use the option and so won't be affected by the change.
2019-09-02 16:13:39 +02:00
..
bits ldbl-opt: Add error and error_at_line (bug 23984) 2019-03-01 15:26:36 -03:00
sys <sys/cdefs.h>: Inhibit macro expansion for __glibc_has_include 2019-06-14 16:19:14 +02:00
acct.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
allocate_once.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ar.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
brk.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
bug18240.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
bug-hsearch1.c .. 2009-01-23 20:41:36 +00:00
chflags.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
chroot.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
daemon.c Consolidate non cancellable close call 2017-08-18 18:38:55 -03:00
dirname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
efgcvt_r.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
efgcvt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
err.c Add internal implementations for argp.h, err.h, and error.h functions 2019-02-21 10:28:50 -03:00
err.h ldbl-opt: Add err, errx, verr, verrx, warn, warnx, vwarn, and vwarnx (bug 23984) 2019-03-01 15:24:51 -03:00
error.c Add internal implementations for argp.h, err.h, and error.h functions 2019-02-21 10:28:50 -03:00
error.h ldbl-opt: Add error and error_at_line (bug 23984) 2019-03-01 15:26:36 -03:00
fchflags.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fdatasync.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fgetxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
flistxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fremovexattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fsetxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
fstab.c Break more lines before not after operators. 2019-02-25 13:19:19 +00:00
fstab.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
fsync.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftruncate64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ftruncate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
futimes.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
futimesat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getauxval.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getclktck.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getdomain.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getdtsz.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gethostid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gethostname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getloadavg.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getpass.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getsysstats.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
getttyent.c Fix -Os getc_unlocked linknamespace, localplt issues (bug 15105, bug 19463). 2018-02-21 18:01:11 +00:00
getusershell.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
getxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
gtty.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
hsearch_r.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
hsearch.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ifunc-impl-list.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
init-misc.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
insremque.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ioctl.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lgetxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
libgen.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
listxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
llistxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lremovexattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lsearch.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lsetxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
lutimes.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
madvise.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
makedev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Makefile ldbl-opt: Add error and error_at_line (bug 23984) 2019-03-01 15:26:36 -03:00
mincore.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkdtemp.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkostemp64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkostemp.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkostemps64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkostemps.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkstemp64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkstemp.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkstemps64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mkstemps.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mktemp.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mlockall.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mmap64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mmap.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mntent_r.c Use autofs "ignore" mount hint in getmntent_r/getmntent 2019-09-02 16:13:39 +02:00
mntent.c misc: Use allocate_once in getmntent 2019-08-28 12:01:48 +02:00
mntent.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
mprotect.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
msync.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
munlock.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
munlockall.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
munmap.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv64v2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
preadv.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pselect.c nptl: Remove tst-cancel-wrappers test and related macros 2019-01-03 18:38:08 -02:00
ptrace.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev64v2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
pwritev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
qefgcvt_r.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
qefgcvt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
readv.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
reboot.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
regexp.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
regexp.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
remap_file_pages.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
removexattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
revoke.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sbrk.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
search.h misc: Add twalk_r function 2019-05-02 11:42:51 +02:00
select.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
setdomain.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
setegid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
seteuid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sethostid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sethostname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
setregid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
setreuid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
setxattr.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sgtty.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sstk.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
stab.h Update. 1997-06-21 02:59:26 +00:00
stty.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
swapoff.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
swapon.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
sync.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syncfs.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syscall.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
syscall.h update from main archive 960107 1997-01-07 23:29:44 +00:00
sysexits.h Update. 1999-06-09 13:08:30 +00:00
syslog.c Don't use the argument to time. 2019-08-21 08:26:36 -04:00
syslog.h initial import 1995-02-18 01:27:10 +00:00
truncate64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
truncate.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tsearch.c misc: Add twalk_r function 2019-05-02 11:42:51 +02:00
tst-allocate_once.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-atomic-long.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-atomic.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-dbl-efgcvt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-dirname.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-efgcvt-template.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-empty.c Move all tests out of the csu subdirectory 2016-12-21 11:52:19 +01:00
tst-error1.c Split DIAG_* macros to new header libc-diag.h. 2017-02-25 09:59:46 -05:00
tst-fdset.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-gethostid.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-hsearch.c Modify several tests to use test-skeleton.c 2014-11-05 15:24:08 +05:30
tst-insremque.c [BZ #2766] 2006-06-17 17:01:42 +00:00
tst-ldbl-efgcvt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-ldbl-error.c ldbl-opt: Reuse test cases from misc/ that check long double 2019-03-01 15:32:49 -03:00
tst-ldbl-warn.c ldbl-opt: Reuse test cases from misc/ that check long double 2019-03-01 15:32:49 -03:00
tst-makedev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mntent2.c Fix warning in misc/tst-mntent2.c. 2014-12-16 10:27:16 +01:00
tst-mntent-blank-corrupt.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mntent-blank-passno.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-mntent.c getmntent: fix memory corruption w/blank lines [BZ #18887] 2015-08-29 18:07:00 -04:00
tst-preadvwritev2-common.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-preadvwritev2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-preadvwritev64.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-preadvwritev64v2.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-preadvwritev-common.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-preadvwritev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-pselect.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
tst-tsearch.c misc/tst-tsearch: Additional explicit error checking 2019-05-03 09:22:33 +02:00
tst-warn-wide.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ttyent.h Remove pre-ISO C support 2012-01-07 23:57:22 -05:00
ttyslot.c As a minor cleanup remove the (r)index defines from include/string.h as 2017-02-06 18:15:18 +00:00
ualarm.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
usleep.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
ustat.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
utimes.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Versions misc: Add twalk_r function 2019-05-02 11:42:51 +02:00
vhangup.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
writev.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00