IceWalkers.com - Linux Software downloads and news
Name : Password :
Linux SoftwareLinux RPMLinux HowtosLink UsAboutAdvertise

statfs (2)

STATFS(2)                  Linux Programmer's Manual                 STATFS(2)



NAME
       statfs, fstatfs - get file system statistics

SYNOPSIS
       #include<sys/vfs.h>

       intstatfs(constchar*path,structstatfs*buf);
       intfstatfs(int fd,structstatfs*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/efs_fs.h:
                 EFS_SUPER_MAGIC       0x00414A53
              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/xfs_fs.h:
                 XFS_SUPER_MAGIC       0x58465342
              linux/xia_fs.h:
                 _XIAFS_SUPER_MAGIC    0x012FD16D

       Nobody knows what f_fsid is supposed to contain (but see below).

       Fields  that  are  undefined for a particular file system are set to 0.
       fstatfs returns the same information about an open file  referenced  by
       descriptor fd.

RETURNVALUE
       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 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.

       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 writing to the  file
              system.

       ENOSYS The filesystem fd is open on does not support statfs.

CONFORMINGTO
       The  Linux  statfs  was inspired by the 4.4BSD one (but they do not use
       the same structure).

   f_fsid
       Solaris and POSIX 1003.1-2001 have a system call statvfs that returns a
       structstatvfs (defined in <sys/statvfs.h>) containing an unsignedlong
       f_fsid.  Linux, SunOS, HPUX, 4.4BSD have  a  system  call  statfs  that
       returns  a  structstatfs (defined in <sys/vfs.h>) containing a fsid_t
       f_fsid, where fsid_t is defined as struct{intval[2];}.   The  same
       holds  for FreeBSD, except that it uses the include file <sys/mount.h>.

       The general idea is that f_fsid contains some random  stuff  such  that
       the  pair  (f_fsid,ino)  uniquely  determines a file.  Some OSes use (a
       variation on) the device number, or the device number combined with the
       filesystem  type.  Several OSes restrict giving out the f_fsid field to
       the superuser only (and zero it for nonprivileged users), because  this
       field  is  used  in the filehandle of the filesystem when NFS-exported,
       and giving it out is a security concern.

       Under some OSes the fsid can be used as second parameter to the sysfs()
       system call.

SEEALSO
       stat(2)



Linux 2.0.30                      1997-08-21                         STATFS(2)

_Exitgetsockoptoutwshmat
_exitgettidoutw_pshmctl
_llseekgettimeofdaypauseshmdt
_newselectgetuidpersonalityshmget
_sysctlgttypipeshmop
acceptidlepivot_rootshutdown
accessinbpollsigaction
acctinb_pprctlsigaltstack
adjtimexinlpreadsigblock
afs_syscallinl_pprofsiggetmask
alarminsbpselectsigmask
alloc_hugepagesinslptracesignal
arch_prctlinswpwritesigpause
bdflushintroquotactlsigpending
bindinwreadsigprocmask
breakinw_preaddirsigqueue
brkioctlreadlinksigreturn
cacheflushioctl_listreadvsigsetmask
capgetiopermrebootsigsuspend
capsetioplrecvsigtimedwait
chdiripcrecvfromsigvec
chmodkillrecvmsgsigwaitinfo
chownkillpgrenamesocket
chrootlchownrmdirsocketcall
clonelinksbrksocketpair
closelistensched_get_priority_maxssetmask
connectllseeksched_get_priority_minstat
creatlocksched_getaffinitystatfs
duplseeksched_getparamstime
dup2lstatsched_getschedulerstty
execvemadvisesched_rr_get_intervalswapoff
exitmincoresched_setaffinityswapon
fchdirmkdirsched_setparamsymlink
fchmodmknodsched_setschedulersync
fchownmlocksched_yieldsyscall
fcntlmlockallselectsyscalls
fdatasyncmmapselect_tutsysctl
flockmmap2semctlsysfs
forkmodify_ldtsemgetsysinfo
free_hugepagesmountsemopsyslog
fstatmprotectsendtime
fstatfsmpxsendfiletimes
fsyncmremapsendmsgtkill
ftruncatemsgctlsendtotruncate
futexmsggetsetcontextumask
getcontextmsgopsetdomainnameumount
getdentsmsgrcvsetegidumount2
getdomainnamemsgsndseteuiduname
getdtablesizemsyncsetfsgidundocumented
getegidmunlocksetfsuidunimplemented
geteuidmunlockallsetgidunlink
getgidmunmapsetgroupsuselib
getgroupsnanosleepsethostidustat
gethostidnfsservctlsethostnameutime
gethostnamenicesetitimerutimes
getitimerobsoletesetpgidvfork
getpagesizeoldfstatsetpgrpvhangup
getpeernameoldlstatsetpriorityvm86
getpgidoldoldunamesetregidwait
getpgrpoldstatsetresgidwait3
getpidoldunamesetresuidwait4
getppidopensetreuidwaitpid
getpriorityoutbsetrlimitwrite
getresgidoutb_psetsidwritev
getresuidoutlsetsockopt 
getrlimitoutl_psettimeofday 
getrusageoutsbsetuid 
getsidoutslsetup 


Inkscape 0.47
Vector graphic editor for SVG
DeleGate 9.9.6-pre5
Proxy server which runs on multiple platforms
Nano 2.1.99pre2
Emulate Pico while also offering a few enhancements.
My Money 2.0.49
Personal financial software
Linux Kernel 2.6 2.6.32-rc8
Linux Kernel
GCstar 1.5.0
Personal collections manager
ImageMagick 6.5.7.9
ImageMagick image processing studio
BibleTime 2.4
Bible study software for Linux / KDE
Tellico 2.1.1
Collection manager for books, music, videos, and bibliographies
Totem 2.28.4
Movie player for Gnome
Free IT Magazines, White Papers, eBooks, and more !
Oracle Magazine

Contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more.

Vulnerability Management for Dummies

Get all the Facts and See How to Implement a Successful Vulnerability Management Program.

Website Magazine

Has tapped premier talent in the Internet industry for our content and each and every issue will contain practical advice and insights for website owners.

Linux Software Map
Find Linux RPM
Best Rated Linux Software
Most Rated Linux Software
Linux Distributions
Linux Howtos
Quick Survey

Please take our survey and help us improve our website to serve you better.

Thank you.
Linux Software
Linux / IT Resources
Site Resources
Google
Privacy Policy
Contact Us
Submit Software
Advertising info