It is unspecified whether all members of the returned struct have meaningful values on all filesystems.
| EBADF | (fstatvfs) fd is not a valid open file descriptor. |
| EACCES | (statvfs) Search permission is denied for a component of the path prefix of path. |
| ELOOP | (statvfs) Too many symbolic links were encountered in translating path. |
| ENAMETOOLONG |
| | (statvfs) path is too long. |
| ENOENT | (statvfs) The file referred to by path does not exist. |
| ENOTDIR |
| | (statvfs) A component of the path prefix of path is not a directory. |
| EFAULT | Buf or path points to an invalid address. |
| EINTR | This call was interrupted by a signal. |
| EIO | An I/O error occurred while reading from the file system. |
| ENOMEM | Insufficient kernel memory was available. |
| ENOSYS | The file system does not support this call. |
| EOVERFLOW |
| | Some values were too large to be represented in the returned struct. |
|
NOTES
The Linux kernel has system calls statfs, fstatfs to support this library call. The current glibc implementation of
pathconf(path, _PC_REC_XFER_ALIGN);
pathconf(path, _PC_ALLOC_SIZE_MIN);
pathconf(path, _PC_REC_MIN_XFER_SIZE);
uses the f_frsize, f_frsize, and f_bsize fields of the return value of "statvfs(path,buf)".
"SEE ALSO"
statfs(2)