Computer Science
STATFS(2) Linux Programmer's Manual STATFS(2)
NAME
statfs, fstatfs - get file system statistics
SYNOPSIS
#include <sys/vfs.h>
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
DESCRIPTION
statfs returns information about a mounted file system.
path is the path name of any file within the mounted
filesystem. buf is a pointer to a statfs structure
defined as follows:
struct statfs {
long f_type; /* type of filesystem (see below) */
long f_bsize; /* optimal transfer block size */
long f_blocks; /* total data blocks in file system */
long f_bfree; /* free blocks in fs */
long f_bavail; /* free blocks avail to non-superuser */
long f_files; /* total file nodes in file system */
long f_ffree; /* free file nodes in fs */
fsid_t f_fsid; /* file system id */
long f_namelen; /* maximum length of filenames */
long f_spare[6]; /* spare for later */
};
File system types:
linux/affs_fs.h:
AFFS_SUPER_MAGIC 0xADFF
linux/ext_fs.h:
EXT_SUPER_MAGIC 0x137D
linux/ext2_fs.h:
EXT2_OLD_SUPER_MAGIC 0xEF51
EXT2_SUPER_MAGIC 0xEF53
linux/hpfs_fs.h:
HPFS_SUPER_MAGIC 0xF995E849
linux/iso_fs.h:
ISOFS_SUPER_MAGIC 0x9660
linux/minix_fs.h:
MINIX_SUPER_MAGIC 0x137F /* orig. minix */
MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */
MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */
MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */
linux/msdos_fs.h:
MSDOS_SUPER_MAGIC 0x4d44
linux/ncp_fs.h:
NCP_SUPER_MAGIC 0x564c
linux/nfs_fs.h:
NFS_SUPER_MAGIC 0x6969
linux/proc_fs.h:
PROC_SUPER_MAGIC 0x9fa0
linux/smb_fs.h:
SMB_SUPER_MAGIC 0x517B
linux/sysv_fs.h:
XENIX_SUPER_MAGIC 0x012FF7B4
SYSV4_SUPER_MAGIC 0x012FF7B5
SYSV2_SUPER_MAGIC 0x012FF7B6
COH_SUPER_MAGIC 0x012FF7B7
linux/ufs_fs.h:
UFS_MAGIC 0x00011954
linux/xia_fs.h:
_XIAFS_SUPER_MAGIC 0x012FD16D
Fields that are undefined for a particular file system are
set to -1. fstatfs returns the same information about an
open file referenced by descriptor fd.
RETURN VALUE
On success, zero is returned. On error, -1 is returned,
and errno is set appropriately.
ERRORS
For statfs:
ENOTDIR A component of the path prefix of path is not a
directory.
ENAMETOOLONG
path is too long.
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 trans-
lating path.
EFAULT Buf or path points to an invalid address.
EIO An I/O error occurred while reading from or writ-
ing to the file system.
ENOMEM Insufficient kernel memory was available.
ENOSYS The filesystem path is on does not support statfs.
For fstatfs:
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 writ-
ing to the file system.
ENOSYS The filesystem fd is open on does not support
statfs.
CONFORMING TO
4.4BSD.
SEE ALSO
stat(2)
Linux 2.0.30 21 August 1997 1
Back to the index