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

FreeBSD Manual Pages


home | help
GROWFS(8)		FreeBSD	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 disklabel(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 utility extends the	size of	the file system	on the specified spe-
     cial file.	 Currently growfs can only enlarge unmounted file systems.  Do
     not try enlarging 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

     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
     unexpected	relocation of that structure it	is possible to use ffsinfo -c
     0 on the first cylinder group to verify that nbfree in the	CYLINDER SUM-
     MARY (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.

     disklabel(8), dumpfs(8), fdisk(8),	fsck(8), newfs(8), tunefs(8), vinum(8)

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

     The growfs	utility	first appeared in FreeBSD 4.4.

FreeBSD	11.1		       September 8, 2000		  FreeBSD 11.1


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

home | help