SUMMARY: fundamental filesystem block size

From: Mikhail V Zdorovenko (
Date: Wed Feb 17 1999 - 20:39:03 CST

HI managers !

Sorry for this late summary.
I've got only one answer for my question from
Kevin Sheehan/Uniq {Consulting Poster Child}.
Original question is at the end of the message.

Many thanks to Kevin Sheehan.

<-- Here goes the answer -->
frsize is the "fragment" size, and comes from UFS historically. UFS
has a "block" size and a "fragment" size. "fundamental" means "the
unit in which the disk addresses are computed" and for UFS can be 512
or 1K. blocks are 4K or 8K, and are used when files get larger and
it is more efficient to allocate in larger units. But their addresses
kept on disk are still in terms of the fragment size...

The reason for the two sizes had to do with the Berkeley Fast File System,
which is known now as UFS. It is more efficient for I/O and allocation on
large files to use larger block sizes. It is a waste of space for smaller
files to use large block sizes. So UFS uses small units (fragments) for
small files and as a file grows it starts allocating in larger units

512/4K and 1K/8K are the two allowable frag/block units when making a file

The Berkeley 4.3BSD book and several other OS/Admin guides go into this
in some detail.

<-- Here goes the question -->
> There is statvfs() structure defined in <sys/statvfs.h> header file.
> That structure defines the following member:
> u_long f_frsize; /* fundamental filesystem block size (if =
> supported) */
> Could someone tell me the meaning of f_frsize member ? What does mean=20
> 'fundamental' ? Where can I get full decsription of all statvfs =
> structure members ?

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:13:15 CDT