Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


STATVFS(2)                    System Calls Manual                   STATVFS(2)

NAME
     statvfs, statvfs1, fstatvfs, fstatvfs1 - get file system statistics

LIBRARY
     Standard C Library (libc, -lc)

SYNOPSIS
     #include <sys/statvfs.h>

     int
     statvfs(const char *path, struct statvfs *buf);

     int
     statvfs1(const char *path, struct statvfs *buf, int flags);

     int
     fstatvfs(int fd, struct statvfs *buf);

     int
     fstatvfs1(int fd, struct statvfs *buf, int flags);

DESCRIPTION
     statvfs() and statvfs1() return information about a mounted file system.
     path is the path name of any file within the mounted file system.  buf is
     a pointer to a statvfs structure defined in statvfs(5).

     fstatvfs() and fstatvfs1() return the same information about an open file
     referenced by descriptor fd.

     The statvfs1() and fstatvfs1() functions allow an extra flags argument
     which can be ST_WAIT and ST_NOWAIT.  When ST_NOWAIT is specified, then
     only cached statistics are returned.  This can result in significant
     savings on non-local file systems, where gathering statistics involves a
     network communication.

     The statvfs() and fstatvfs() calls are equivalent to the respective
     statvfs1() and fstatvfs1() calls with ST_WAIT specified as the flags
     argument.

RETURN VALUES
     Upon successful completion, a value of 0 is returned.  Otherwise, -1 is
     returned and the global variable errno is set to indicate the error.

ERRORS
     statvfs() and statvfs1() fail if one or more of the following are true:

     [ENOTDIR]          A component of the path prefix of path is not a
                        directory.

     [ENAMETOOLONG]     The length of a component of path exceeds {NAME_MAX}
                        characters, or the length of path exceeds {PATH_MAX}
                        characters.

     [ENOENT]           The file referred to by path does not exist.

     [EACCES]           Search permission is denied for a component of the
                        path prefix of path.

     [ELOOP]            Too many symbolic links were encountered in
                        translating path.

     [EFAULT]           buf or path points to an invalid address.

     [EIO]              An I/O error occurred while reading from or writing to
                        the file system.

     fstatvfs() and fstatvfs1() fail if one or more of the following are true:

     [EBADF]            fd is not a valid open file descriptor.

     [EFAULT]           buf points to an invalid address.

     [EIO]              An I/O error occurred while reading from or writing to
                        the file system.

SEE ALSO
     statvfs(5)

STANDARDS
     The statvfs() and fstatvfs() functions conform to IEEE Std 1003.1-2001
     ("POSIX.1").

HISTORY
     The statvfs(), statvfs1(), fstatvfs(), and fstatvfs1() functions first
     appeared in NetBSD 3.0 to replace the statfs() family of functions which
     first appeared in 4.4BSD.

NetBSD 10.99                    April 14, 2004                    NetBSD 10.99