[comp.sys.sun] Fuji inode problems

paul@amos.ling.ucsd.edu (Paul Smith) (12/01/88)

The problem of not being able to make enough inodes with fuji 23XX drives
and Xylogics controllers is due to a bug with mkfs.  Using the -i option
to newfs will not correctly change the inode density for a partition, you
will always get the default 2048.  The only way to get a higher inode
density is to reduce the number of cylinder groups and (!) the number of
tracks for that partition.  This has the effect of giving you the same
number of nodes/cylinder group but each cylinder group is smaller hence
you've got more inodes. Of course you sacrifice some space too.   The
following is what it looked like for us.

Script started on Thu Nov 17 11:57:48 1988
/*
 * This is what the defaults yield
 */
bend# mkfs /dev/rxd1d 180900 67 27 8192 1024 16 10 60 2048 t 0

/dev/rxd1d:	180900 sectors in 100 cylinders of 27 tracks, 67 sectors
	92.6Mb in 7 cyl groups (16 c/g, 14.82Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:
 32, 29056, 58080, 87104, 116128, 145152, 174176,

bend# df -i /dev/rxd1d

Filesystem             iused   ifree  %iused  Mounted on
/dev/rxd1d                 4   14332     0%   

/*
 * This is how to get more inodes 
 */

bend# mkfs /dev/rxd1d 180900 67 26 8192 1024 8 10 60 2048 t 0

/dev/rxd1d:	180900 sectors in 104 cylinders of 26 tracks, 67 sectors
	92.6Mb in 13 cyl groups (8 c/g, 7.14Mb/g, 2048 i/g)
super-block backups (for fsck -b#) at:
 32, 14048, 28064, 42080, 56096, 70112, 84128, 98144, 112160, 126176,
 140192, 154208, 168224,
bend# df -i /dev/rxd1d

Filesystem             iused   ifree  %iused  Mounted on
/dev/rxd1d                 4   26620     0%   
bend# exit
bend# 
script done on Thu Nov 17 11:58:51 1988

mangler@csvax.caltech.edu (Don Speck) (12/30/88)

In article <8811172007.AA28870@amos.ling.ucsd.edu> you write:
>The problem of not being able to make enough inodes with fuji 23XX drives
>and Xylogics controllers is due to a bug with mkfs.

It is a design limitation of the BSD Fast Filesystem:  each cylinder group
contains a fixed-size bitmap (2048 bits) for inode allocation.  4.3T
replaces it with a variable-sized bitmap, which is not backward compatible
(and cannot be).  You'll know it when Sun picks up this change.

The Fast Filesystem was designed when disks had 32 sectors per track.
Cylinders hold more these days.  This should have been predictable...  but
up through at least SunOS 3.2, there wasn't even support for filesystems
larger than 512 megabytes.	(SunOS 3.5 supports 2048 MB).

The workaround, reducing the cylinder group size, is disallowed on some
drives by the requirement that a cylinder group be an integral multiple of
the filesystem blocksize.  You can work around this by formatting with a
different number of spare sectors per track.