Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GROWFS(8)		  BSD System Manager's Manual		     GROWFS(8)

     growfs -- grow size of an existing	ufs file system

     growfs [-Ny] [-s size] special

     The growfs	utility	extends	the newfs(8) program.  Before starting growfs
     the disk must be labeled to a bigger size using bsdlabel(8).  If you wish
     to	grow a file system beyond the boundary of the slice it resides in, you
     must re-size the slice using fdisk(8) before running growfs.  If you are
     using volumes you must enlarge them by using vinum(8).  The growfs	util-
     ity extends the size of the file system on	the specified special file.
     Currently growfs can only enlarge unmounted file systems.	Do not try en-
     larging a mounted file system, your system	may panic and you will not be
     able to use the file system any longer.  Most of the newfs(8) options
     cannot be changed by growfs.  In fact, you	can only increase the size of
     the file system.  Use tunefs(8) for other changes.

     The following options are available:

     -N	     "Test mode".  Causes the new file system parameters to be printed
	     out without actually enlarging the	file system.

     -y	     "Expert mode".  Usually growfs will ask you if you	took a backup
	     of	your data before and will do some tests	whether	special	is
	     currently mounted or whether there	are any	active snapshots on
	     the file system specified.	 This will be suppressed.  So use this
	     option with great care!

     -s	size
	     Determines	the size of the	file system after enlarging in sec-
	     tors.  This value defaults	to the size of the raw partition spec-
	     ified in special (in other	words, growfs will enlarge the file
	     system to the size	of the entire partition).

	   growfs -s 4194304 /dev/vinum/testvol

     will enlarge /dev/vinum/testvol up	to 2GB if there	is enough space	in

     bsdlabel(8), dumpfs(8), fdisk(8), ffsinfo(8), fsck(8), newfs(8),
     tunefs(8),	vinum(8)

     The growfs	utility	first appeared in FreeBSD 4.4.

     Christoph Herrmann	<>
     Thomas-Henning von	Kamptz <>
     The GROWFS	team <growfs@Tomsoft.COM>

     The growfs	utility	works starting with FreeBSD 3.x.  There	may be cases
     on	FreeBSD	3.x only, when growfs does not recognize properly whether or
     not the file system is mounted and	exits with an error message.  Then
     please use	growfs -y if you are sure that the file	system is not mounted.
     It	is also	recommended to always use fsck(8) after	enlarging (just	to be
     on	the safe side).

     For enlarging beyond certain limits, it is	essential to have some free
     blocks available in the first cylinder group.  If that space is not
     available in the first cylinder group, a critical data structure has to
     be	relocated into one of the new available	cylinder groups.  On FreeBSD
     3.x this will cause problems with fsck(8) afterwards.  So fsck(8) needs
     to	be patched if you want to use growfs for FreeBSD 3.x.  This patch is
     already integrated	in FreeBSD starting with FreeBSD 4.4.  To avoid	an un-
     expected relocation of that structure it is possible to use ffsinfo -g 0
     -l	4 on the first cylinder	group to verify	that nbfree in the CYLINDER
     SUMMARY (internal cs) of the CYLINDER GROUP cgr0 has enough blocks.  As a
     rule of thumb for default file system parameters one block	is needed for
     every 2 GB	of total file system size.

     Normally growfs writes this critical structure to disk and	reads it again
     later for doing more updates.  This read operation	will provide unex-
     pected data when using -N.	 Therefore, this part cannot really be simu-
     lated and will be skipped in test mode.

BSD			       September 8, 2000			   BSD


Want to link to this manual page? Use this URL:

home | help