The
getfsstat()
system call
returns information about all mounted file systems.
The
buf
argument
is a pointer to
statfs
structures, as described in
statfs(2).
Fields that are undefined for a particular file system are set to -1.
The buffer is filled with an array of
statfs
structures, one for each mounted file system
up to the byte count specified by
bufsize.
Note, the
bufsize
argument is the number of bytes that
buf
can hold, not the count of statfs structures it will hold.
If
buf
is given as NULL,
getfsstat()
returns just the number of mounted file systems.
Normally
mode
should be specified as
MNT_WAIT.
If
mode
is set to
MNT_NOWAIT,
getfsstat()
will return the information it has available without requesting
an update from each file system.
Thus, some of the information will be out of date, but
getfsstat()
will not block waiting for information from a file system that is
unable to respond.
It will also skip any file system that is in the process of being
unmounted, even if the unmount would eventually fail.