[Bug 224851] Bug in getmntinfo(3) / getfsstat(2) ?
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Tue Jan 2 23:15:19 UTC 2018
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224851
Bug ID: 224851
Summary: Bug in getmntinfo(3) / getfsstat(2) ?
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: jamie at catflap.org
Created attachment 189351
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=189351&action=edit
test file to demonstrate the problem
There appears to be a bug in the system call related to getmntinfo(3) /
getfsstat(2), when if the "automount" flag is set on "nullfs" mounts, it is not
returned on a getfsstat "WAIT" call. The non-refreshed, non-blocking
"MNT_NOWAIT" produces the correct result.
I first noticed this when debugging why my nullfs autofs partitions weren't
being automatically unmounted. (FreeBSD current and release)
If this is actually intended behaviour, please reassign this as something that
needs to be worked around in the autofs code (I think this is similar in this
regard to #195161 )
The somewhat hacked attached snippet from automount.c in the example below
demonstrates this - When called with no parameters, it performs a MNT_WAIT
request, otherwise a MNT_NOWAIT request is performed. The results are:
| 14:24 [2] (1) "autofs" root at thompson# df
| Filesystem 1K-blocks Used Avail Capacity Mounted on
| /dev/ada1p2 5061628 707264 3949436 15% /
| devfs 1 1 0 100% /dev
| /dev/ada1p4 5061628 535004 4121696 11% /var
| /dev/ada1p5 978973296 21689416 878966020 2% /usr
|
| 14:24 [2] (2) "autofs" root at thompson# mount
| /dev/ada1p2 on / (ufs, local)
| devfs on /dev (devfs, local, multilabel)
| /dev/ada1p4 on /var (ufs, local, soft-updates)
| /dev/ada1p5 on /usr (ufs, local, soft-updates)
|
| 14:25 [2] (3) "autofs" root at thompson# mkdir /tmp/automounted /tmp/manual
|
| 14:25 [2] (4) "autofs" root at thompson# mount -t nullfs -o ro /usr/src
/tmp/manual
|
| 14:25 [2] (5) "autofs" root at thompson# mount -t nullfs -o ro,automounted
/usr/src /tmp/automounted/
|
| 14:26 [2] (6) "autofs" root at thompson# df
| Filesystem 1K-blocks Used Avail Capacity Mounted on
| /dev/ada1p2 5061628 707264 3949436 15% /
| devfs 1 1 0 100% /dev
| /dev/ada1p4 5061628 535004 4121696 11% /var
| /dev/ada1p5 978973296 21689420 878966016 2% /usr
| /usr/src 978973296 21689420 878966016 2% /tmp/manual
| /usr/src 978973296 21689420 878966016 2% /tmp/automounted
|
| 14:26 [2] (7) "autofs" root at thompson# mount
| /dev/ada1p2 on / (ufs, local)
| devfs on /dev (devfs, local, multilabel)
| /dev/ada1p4 on /var (ufs, local, soft-updates)
| /dev/ada1p5 on /usr (ufs, local, soft-updates)
| /usr/src on /tmp/manual (nullfs, local, read-only)
| /usr/src on /tmp/automounted (nullfs, local, read-only, automounted)
|
| 14:26 [2] (8) "autofs" root at thompson# ./a.out
| skipping /, not automounted
| skipping /dev, not automounted
| skipping /var, not automounted
| skipping /usr, not automounted
| skipping /tmp/manual, not automounted
| skipping /tmp/automounted, not automounted
|
| 14:26 [2] (9) "autofs" root at thompson# ./a.out x
| skipping /, not automounted
| skipping /dev, not automounted
| skipping /var, not automounted
| skipping /usr, not automounted
| skipping /tmp/manual, not automounted
| /tmp/automounted IS automounted!!!!!!!!!
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list