On Sat, Oct 16, 2010 at 05:44:24PM +0300, Vladimir Kirillov wrote:
> Hello, t...@!
>
> The manual of getfsstat(2) contains the 4.3 struct statfs layout.
>
fixed, thanks.
jmc
> Index: getfsstat.2
> ===================================================================
> RCS file: /cvs/src/lib/libc/sys/getfsstat.2,v
> retrieving revision 1.17
> diff -u -p -r1.17 getfsstat.2
> --- getfsstat.2 5 Jun 2009 23:31:34 -0000 1.17
> +++ getfsstat.2 16 Oct 2010 14:42:58 -0000
> @@ -55,24 +55,34 @@ typedef struct { int32_t val[2]; } fsid_
> #define MNAMELEN 90 /* length of buffer for returned name */
>
> struct statfs {
> - u_int32_t f_flags; /* copy of mount flags */
> - int32_t f_bsize; /* fundamental file system block size */
> - u_int32_t f_iosize; /* optimal transfer block size */
> - u_int32_t f_blocks; /* total data blocks in file system */
> - u_int32_t f_bfree; /* free blocks in fs */
> - int32_t f_bavail; /* free blocks avail to non-superuser */
> - u_int32_t f_files; /* total file nodes in file system */
> - u_int32_t f_ffree; /* free file nodes in fs */
> - fsid_t f_fsid; /* file system id */
> - uid_t f_owner; /* user that mounted the file system */
> - u_int32_t f_syncwrites; /* count of sync writes since mount */
> - u_int32_t f_asyncwrites; /* count of async writes since mount */
> - u_int32_t f_ctime; /* last mount [-u] time */
> - u_int32_t f_spare[3]; /* spare for later */
> - char f_fstypename[MFSNAMELEN]; /* fs type name */
> - char f_mntonname[MNAMELEN]; /* directory on which mounted */
> - char f_mntfromname[MNAMELEN]; /* mounted file system */
> - union mount_info mount_info; /* per-filesystem mount options */
> + u_int32_t f_flags; /* copy of mount flags */
> + u_int32_t f_bsize; /* file system block size */
> + u_int32_t f_iosize; /* optimal transfer block size */
> +
> + /* unit is f_bsize */
> + u_int64_t f_blocks; /* total data blocks in file system */
> + u_int64_t f_bfree; /* free blocks in fs */
> + int64_t f_bavail; /* free blocks avail to non-superuser */
> +
> + u_int64_t f_files; /* total file nodes in file system */
> + u_int64_t f_ffree; /* free file nodes in fs */
> + int64_t f_favail; /* free file nodes avail to non-root */
> +
> + u_int64_t f_syncwrites; /* count of sync writes since mount */
> + u_int64_t f_syncreads; /* count of sync reads since mount */
> + u_int64_t f_asyncwrites; /* count of async writes since mount */
> + u_int64_t f_asyncreads; /* count of async reads since mount */
> +
> + fsid_t f_fsid; /* file system id */
> + u_int32_t f_namemax; /* maximum filename length */
> + uid_t f_owner; /* user that mounted the file system */
> + u_int32_t f_ctime; /* last mount [-u] time */
> + u_int32_t f_spare[3]; /* spare for later */
> +
> + char f_fstypename[MFSNAMELEN]; /* fs type name */
> + char f_mntonname[MNAMELEN]; /* directory on which mounted */
> + char f_mntfromname[MNAMELEN]; /* mounted file system */
> + union mount_info mount_info; /* per-filesystem mount options */
> };
> .Ed
> .Pp