Enabling gjournal without destroying a filesystem?

perryh at pluto.rain.com perryh at pluto.rain.com
Fri Aug 19 02:37:16 UTC 2011

"Conrad J. Sabatier" <conrads at cox.net> wrote:

> Is there any way to enable gjournal on an already existing
> filesystem without destroying it?

Yes, provided the existing filesystem is not using the last block
of its provider (partition), but you'll have to put the journal on
a separate provider from the data.  See the explanation of the -s
switch in gjournal(8) to determine the necessary size of the journal
provider, but don't specify -s in the "gjournal label" command
because the size of the journal is implicitly set by the the size
of its provider when separate from the data provider.  (-s is used
when a single provider is used for both journal and data.)  Also
read the explanation of the -f switch, but don't actually specify
-f unless you are sure you know what you're doing :)

Something like this [untested]:

  # umount [existing filesystem]
  # gjournal label [existing filesystem] [journal provider]
  # tunefs -J enable -n disable [existing filesystem].journal
  # mount -o async [existing filesystem].journal [mountpoint]

and edit /etc/fstab accordingly.

More information about the freebsd-questions mailing list