GROWFS(8)

πŸ“¦
version 15.1 Β· 2 versions
, in freebsd 15.1

πŸ’– GROWFS β€” the system manager's manual page, but make it group chat πŸ’–

okay so bestie, welcome to growfs(8), aka the system manager's manual glow-up era. this is a <pink>System Manager's Manual</pink> page, and yes we're doing the whole thing, no skips, no cap.


✨ NAME ✨

growfs β€” expand an existing UFS file system 🎈

like, your filesystem said "i want more space actually" and this is the tool that makes it happen.


πŸ¦‹ SYNOPSIS πŸ¦‹

growfs [-Ny] [-s size] special | filesystem

🌸 DESCRIPTION 🌸

so the growfs utility makes it possible to expand an UFS file system. that's the whole vibe. πŸ’…

but β€” and this is the important part, bestie β€” before you run growfs, the partition or slice containing the file system must be extended using gpart(8). the partition grows first, then growfs comes in and makes the file system on the specified special file match. the following options are available:

  • -N β€” β€œTest mode”. causes the new file system parameters to be printed out without actually enlarging the file system. it's giving window shopping, not checkout. πŸ›οΈ
  • -s size β€” determines the size of the file system after enlarging, in sectors. size is the number of 512 byte sectors unless you suffix it with a b, k, m, g, or t, which denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively. this value defaults to the size of the raw partition specified in special β€” in other words, growfs will enlarge the file system to the size of the entire partition. go big or go home, literally. πŸ”₯
  • -y β€” causes growfs to assume yes as the answer to all operator questions. no more y + Enter spam, we're just saying yes to the universe. 🫢

⭐ EXIT STATUS ⭐

exit status is 0 on success, and >= 1 on errors. here's the breakdown:

  • errors recoverable by user action are indicated by 2 β€” you got this, you can fix it πŸ’ͺ
  • OS errors, which are usually not recoverable, are indicated by 3 or greater β€” at that point it's giving "call tech support" energy 😭

πŸŽ€ EXAMPLES πŸŽ€

expand root file system to fill up available space:

growfs /

refresh the LUN size, resize the partition to use all available capacity, and expand the filesystem accordingly:

camcontrol reprobe da0
gpart recover da0
gpart resize -i 1 da0
growfs /dev/da0p1

the way that's a whole four-step combo like a dance routine πŸ‘‘ do them in order, don't freestyle.


🌈 SEE ALSO 🌈

growfs(7), camcontrol(8), fsck(8), gpart(8), newfs(8), tunefs(8)

the whole friend group honestly 🫢 go say hi.


🧚 HISTORY 🧚

the growfs utility first appeared in FreeBSD 4.4. the ability to resize mounted file systems was added in FreeBSD 10.0 β€” that's the glow-up update, iykyk. ✨


πŸ‘‘ AUTHORS πŸ‘‘

  • Christoph Herrmann <chm@FreeBSD.org>
  • Thomas-Henning von Kamptz <tomsoft@FreeBSD.org>
  • The GROWFS team <growfs@Tomsoft.COM>
  • Edward Tomasz Napierala <trasz@FreeBSD.org>

legends, every single one. πŸ’œ


πŸ’€ CAVEATS πŸ’€

when expanding a file system mounted read-write, any writes to that file system will be temporarily suspended until the expansion is finished. so like, don't panic if your writes go quiet for a sec β€” it's not ghosting you, it's just busy. πŸ™ˆ


πŸ“ BUGS πŸ“

normally growfs writes cylinder group summary 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.

so yeah β€” -N is a vibe check, not a rehearsal for everything. the cylinder group summary bit just sits out test mode entirely. 🫠


and that's the whole page, bestie. no notes. πŸ’…

sign-off: this page is from the <lavender>Debian</lavender> pack, dated <mint>January 23, 2025</mint> β€” mwah, go expand something. πŸ¦‹πŸ’–

πŸ“¦ where this page comes from
  • freebsd 15.1: base 15.1
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms