*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->FreeBSD man pages -> statfs (2)              



NAME    [Toc]    [Back]

     statfs -- get file system statistics

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

     #include <sys/param.h>
     #include <sys/mount.h>

     statfs(const char *path, struct statfs *buf);

     fstatfs(int fd, struct statfs *buf);

DESCRIPTION    [Toc]    [Back]

     The statfs() system call returns information about a mounted file system.
     The path argument is the path name of any file within the mounted file
     system.  The buf argument is a pointer to a statfs structure defined as

     typedef struct fsid { int32_t val[2]; } fsid_t; /* file system id type */

      * filesystem statistics

     #define MFSNAMELEN      16 	     /* length of type name including null */
     #define MNAMELEN	     88 	     /* size of on/from name bufs */
     #define STATFS_VERSION  0x20030518      /* current version number */

     struct statfs {
     uint32_t f_version;	     /* structure version number */
     uint32_t f_type;		     /* type of filesystem */
     uint64_t f_flags;		     /* copy of mount exported flags */
     uint64_t f_bsize;		     /* filesystem fragment size */
     uint64_t f_iosize; 	     /* optimal transfer block size */
     uint64_t f_blocks; 	     /* total data blocks in filesystem */
     uint64_t f_bfree;		     /* free blocks in filesystem */
     int64_t  f_bavail; 	     /* free blocks avail to non-superuser */
     uint64_t f_files;		     /* total file nodes in filesystem */
     int64_t  f_ffree;		     /* free nodes avail to non-superuser */
     uint64_t f_syncwrites;	     /* count of sync writes since mount */
     uint64_t f_asyncwrites;	     /* count of async writes since mount */
     uint64_t f_syncreads;	     /* count of sync reads since mount */
     uint64_t f_asyncreads;	     /* count of async reads since mount */
     uint64_t f_spare[10];	     /* unused spare */
     uint32_t f_namemax;	     /* maximum filename length */
     uid_t     f_owner; 	     /* user that mounted the filesystem */
     fsid_t    f_fsid;		     /* filesystem id */
     char      f_charspare[80]; 	 /* spare string space */
     char      f_fstypename[MFSNAMELEN]; /* filesystem type name */
     char      f_mntfromname[MNAMELEN];  /* mounted filesystem */
     char      f_mntonname[MNAMELEN];	 /* directory on which mounted */

     The flags that may be returned include:

     MNT_RDONLY       The file system is mounted read-only; Even the superuser
 may not write on it.

     MNT_NOEXEC       Files may not be executed from the file system.

     MNT_NOSUID       Setuid and setgid bits on files are not honored when
		      they are executed.

     MNT_NODEV	      Special files in the file system may not be opened.

     MNT_SYNCHRONOUS  All I/O to the file system is done synchronously.

     MNT_ASYNC	      No file system I/O is done synchronously.

     MNT_SOFTDEP      Soft updates being done (see ffs(7).)

     MNT_SUIDDIR      Special handling of SUID bit on directories.

     MNT_UNION	      Union with underlying filesystem.

     MNT_NOSYMFOLLOW  Symbolic links are not followed.

     MNT_NOCLUSTERR   Read clustering is disabled.

     MNT_NOCLUSTERW   Write clustering is disabled.

     MNT_MULTILABEL   Mandatory Access Control (MAC) support for individual
		      objects (see mac(4).)

     MNT_ACLS	      Access Control List (ACL) support enabled.

     MNT_LOCAL	      The file system resides locally.

     MNT_QUOTA	      The file system has quotas enabled on it.

     MNT_ROOTFS       Identifies the root file system.

     MNT_EXRDONLY     The file system is exported read-only.

     MNT_NOATIME      Updating of file access times is disabled.

     MNT_USER	      The file system has been mounted by a user.

     MNT_EXPORTED     The file system is exported for both reading and writing.

     MNT_DEFEXPORTED  The file system is exported for both reading and writing
		      to any Internet host.

     MNT_EXPORTANON   The file system maps all remote accesses to the anonymous

     MNT_EXKERB       The file system is exported with Kerberos uid mapping.

     MNT_EXPUBLIC     The file system is exported publicly (WebNFS).

     Fields that are undefined for a particular file system are set to -1.
     The fstatfs() system call returns the same information about an open file
     referenced by descriptor fd.

RETURN VALUES    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

     The statfs() system call 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

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

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

     The fstatfs() system call fails if one or more of the following are true:

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

     [EFAULT]		The buf argument points to an invalid address.

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

HISTORY    [Toc]    [Back]

     The statfs() system call first appeared in 4.4BSD.

FreeBSD 5.2.1		       November 16, 2003		 FreeBSD 5.2.1
[ Back ]
 Similar pages
Name OS Title
ff_vxfs HP-UX fast find: list file names and statistics for a VxFS file system
ff_hfs HP-UX list file names and statistics for HFS file system
ff HP-UX list file names and statistics for a file system
nfsstat Tru64 Network File System statistics
bsde_get_rule_slots FreeBSD file system firewall statistics
cachefsstat HP-UX Cache File System statistics
bsde_get_rule_count FreeBSD file system firewall statistics
ustat HP-UX get mounted file system statistics
nfsstat HP-UX Network File System statistics
rmtab HP-UX local file system mount statistics
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service