GROWFS

NAME

growfs
- grow size of an existing ufs file system

SYNOPSIS

[-Ny [-s size
]
]
special

DESCRIPTION

The
utility extends the
newfs(8)
program.
Before starting
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
.
If you are using volumes you must enlarge them by using
vinum(8).
The
utility extends the size of the file system on the specified special file.
Currently
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
.
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
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 sectors.
This value defaults to the size of the raw partition specified in
special
(in other words,
will enlarge the file system to the size of the entire partition).

EXAMPLES

growfs -s 4194304 /dev/vinum/testvol

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

HISTORY

AUTHORS

BUGS

The
utility works starting with
Fx 3.x.
There may be cases on
Fx 3.x only, when
does not recognize properly whether or not the file system is mounted and
exits with an error message.
Then please use
-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
Fx 3.x this will cause problems with
fsck(8)
afterwards.
So
fsck(8)
needs to be patched if you want to use
for
Fx 3.x.
This patch is already integrated in
Fx starting with
Fx 4.4 .
To avoid an unexpected 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
writes this critical structure to disk and reads it again later for doing more
updates.
This read operation will provide unexpected data when using
-N
Therefore, this part cannot really be simulated and will be skipped in test
mode.