If you can afford running 7-CURRENT, you should really try ZFS.
Even if you don't want to use ZFS file systems, you can still use ZFS
ZVOLs and run UFS on top of them.
For example:
# zpool create tank mirror da0 da1
# zfs create -V 10g tank/foo
# zfs create -V 20g tank/bar
# diskinfo -v /dev/zvol/tank/{foo,bar}
/dev/zvol/tank/foo
512 # sectorsize
10737418240 # mediasize in bytes (10G)
20971520 # mediasize in sectors
/dev/zvol/tank/bar
512 # sectorsize
21474836480 # mediasize in bytes (20G)
41943040 # mediasize in sectors
# newfs /dev/zvol/tank/foo
# mount /dev/zvol/tank/foo /foo
# newfs /dev/zvol/tank/bar
# mount /dev/zvol/tank/bar /bar
Now, when you want to grow tank/foo:
# umount /foo
# zfs set volsize=30g tank/foo
# growfs /dev/zvol/tank/foo
# mount /dev/zvol/tank/foo /foo
Not to mention you have fast UFS snapshots, clones and other cool
stuff:)