-
Patch request
-
Resolution: Unresolved
-
Trivial
-
None
-
None
Steps to reproduce:
- run `zabbix_agentd -t vfs.fs.get` on a system with unreachable network mount points (in our case managed by autofs) still in `/proc/mount`
Result:
`[m|ZBX_NOTSUPPORTED] [Timeout while waiting for data.]`
Expected:
The request should succed but some mount points should be flagged as unreachable/failed/down.
Looking at the source code `vfs.fs.get` does the following:
- read `/proc/mount`
- for each line get stats with `statfs/statvfs`.
When a network mount point is still in `/proc/mount` but is no longer reachable the `statfs/statvfs` request will hang until the network service responsible for mounting (here autofs) times out.
This might lead to cases where the whole `vfs.fs.get` request times out and no data is returned even if all the other mount points are available.
A solution could be to add another "layer" of timeout for each `statfs/statvfs` request to prevent the whole request to fail.