DragonFly On-Line Manual Pages

Search: Section:  


STATFS(2)                DragonFly System Calls Manual               STATFS(2)

NAME

statfs, fstatfs -- get file system statistics

LIBRARY

Standard C Library (libc, -lc)

SYNOPSIS

#include <sys/param.h> #include <sys/mount.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: typedef struct fsid { int32_t val[2]; } fsid_t; /* file system id type */ /* * file system statistics */ #define MFSNAMELEN 16 /* length of fs type name, including null */ #define MNAMELEN 90 /* length of buffer for returned name */ struct statfs { long f_bsize; /* fundamental file system block size */ long f_iosize; /* 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 */ uid_t f_owner; /* user that mounted the filesystem */ int f_type; /* type of filesystem */ int f_flags; /* copy of mount exported flags */ long f_syncwrites; /* count of sync writes since mount */ long f_asyncwrites; /* count of async writes since mount */ char f_fstypename[MFSNAMELEN]; /* fs type name */ char f_mntonname[MNAMELEN]; /* directory on which mounted */ long f_syncreads; /* count of sync reads since mount */ long f_asyncreads; /* count of async reads since mount */ char f_mntfromname[MNAMELEN];/* mounted filesystem */ }; The flags that may be returned include: MNT_RDONLY The filesystem is mounted read-only; Even the super-user may not write on it. MNT_NOEXEC Files may not be executed from the filesystem. MNT_NOSUID Setuid and setgid bits on files are not honored when they are executed. MNT_NODEV Special files in the filesystem may not be opened. MNT_SYNCHRONOUS All I/O to the filesystem is done synchronously. MNT_ASYNC No filesystem I/O is done synchronously. MNT_LOCAL The filesystem resides locally. MNT_QUOTA The filesystem has quotas enabled on it. MNT_ROOTFS Identifies the root filesystem. MNT_EXRDONLY The filesystem is exported read-only. MNT_EXPORTED The filesystem is exported for both reading and writing. MNT_DEFEXPORTED The filesystem is exported for both reading and writing to any Internet host. MNT_EXPORTANON The filesystem maps all remote accesses to the anonymous user. MNT_EXKERB The filesystem is exported with Kerberos uid mapping. 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 VALUES

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

ERRORS

Statfs() fails 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 255 characters, or the length of path exceeds 1023 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. Fstatfs() fails 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

stat(2), statvfs(2)

HISTORY

The statfs() function first appeared in 4.4BSD. DragonFly 4.3 September 28, 2008 DragonFly 4.3

Search: Section: