large ufs2 partitions and 'df'

Garrett Wollman wollman at lcs.mit.edu
Mon May 12 17:24:28 PDT 2003


<<On Mon, 12 May 2003 17:11:47 -0700, Kirk McKusick <mckusick at beastie.mckusick.com> said:

> them in that order. Also Solaris have now done some renaming:

> 	f_bsize => f_frsize
> 	f_iosize => f_bsize

> And Solaris has added:

> 	f_favail	/* free inodes avail to non-superuser */
> 	f_namemax	/* maximum filename length */

Compatibility cruft for SVR4/SUS.  (That's what those fields are
called in `struct statvfs'; I assume Sun just uses the same
structure.)  f_namemax is particularly bogus.  (sysconf() should be
used instead, but applications must in any case be prepared for the
possibility that there is no such limit.)

> 	u_int_64 f_blocks;		/* total data blocks in filesystem */
> 	u_int_64 f_bfree;		/* free blocks in filesystem */
> 	int_64	 f_bavail;		/* free blocks avail to non-superuser */
> 	u_int_64 f_files;		/* total file nodes in filesystem */
> 	u_int_64 f_ffree;		/* free file nodes in filesystem */
> 	int_64	 f_favail;		/* free nodes avail to non-superuser */

SUSv3 defines explicit types, fsblkcnt_t and fsfilcnt_t, for the
analogous entries in `struct statvfs', but does not appear to consider
that some of them may have different signedness.  It's not clear that
this even makes sense, but 2**63 is a long way away.

-GAWollman



More information about the freebsd-current mailing list