It is not possible to dynamically increase the number of inodes on a UFS filesystem. If you need to increase the number of inodes you will need to build the filesystem afresh using newfs.
Increasing inodes with newfs
You can have a file system reporting that is it full, and yet when you look at the df -k output it looks like there should still be space left on the file system. The cause of this problem is due to a large number of small files on the file system. This can use up all of the inodes allocated for that file system while there is still plenty of disk space. To check for inodes, run the following command df -o i filesystem:
# df -o i /data Filesystem iused ifree %iused Mounted on /dev/dsk/c0t0d0s7 13 1241587 0% /data
As you can see I don’t have a problem with the inodes, if you did have a problem the output from would indicate %iused 100%. There is a way to resolve this issue, first you need to get a good backup of the affected file system. Then you can run the mkfs -m command to see how any filesystem was created, as seen below.
# mkfs -m /dev/rdsk/c0t0d0s7 mkfs -F ufs -o nsect=255,ntrack=16,bsize=8192,fragsize=1024,cgsize=26,free=1,rps=90,nbpi=8235,opt=t,apc=0,gap=0,nrpos=8,maxcontig=16 /dev/rdsk/c0t0d0s7 20481600
The key field from the about output is nbpi=8235 (number bytes per inode). The nbpi can be changed when running the newfs command to create a new file system. The following is from the newfs man page.
-i nbpi The number of bytes per inode. This specifies the density of inodes in the file system. The number is divided into the total size of the file system to determine the fixed number of inodes to create. It should reflect the expected average size of files in the file system. If fewer inodes are desired, a larger number should be used; to create more inodes a smaller number should be given. The default for nbpi is as fol- lows:. Disk size Density Less than 1GB 2048 Less than 2GB 4096 Less than 3GB 6144 3GB to 1 Tbyte 8192 Greater than 1 Tbyte 1048576 or created with -T
After you backup the file system you want to increase the inodes on, then you newfs the file system using the -i nbpi option specifying a smaller number. As the output from the mkfs -m /dev/rdsk/c0t0d0s7 shows nbpi=8235, if you cut that number in half when running the newfs command with the nbpi option (-i 4117) it will double your inodes on that file system. Then after doing a newfs and increasing their inodes you restore the file system from the backup you created prior to starting this process.