--2oS5YaxWCcQjTEyO
Content-Type: text/plain; charset=iso-8859-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hi.

I'm pleased to announce hopefully the final gjournal patches.

The biggest change is removal of magic .deleted/ directory. Now orphaned
objects (files/directories which were deleted, but are still open) are
handled in a different way - in every CG there is a counter which tells
how many such orphaned objects are there in the given CG. There is also
a global unreferenced inodes counter in the superblock.

On power failure or system crash, fast fsck version will be run on
journaled file system which only checks CG for unreferenced inodes.
Multi terabyte file system is checked in few minutes, but it depends on
how many such objects we have. The global counter in the superblock
allows to stop scanning CGs when it goes to 0.

Another change is that now from a configuration point of view gjournal
is threated simlar to soft-updates - you need to specify -J flag at
newfs(8) time or use 'tunefs -J enable '. 'gjournal' is no longer
a mount option.

To create journaled UFS file system on ad0s1d partition:

# gjournal load
# gjournal label ad0s1d
# newfs -J /dev/ad0s1d.journal
# mount -o noatime,async /dev/ad0s1d.journal /mnt

On reboot 'fsck_ffs -p /dev/ad0s1d.journal' will perform fast check. One
can still run regular check by not giving the -p option.

BTW. This should allow to have root file system on gjournal partition,
but haven't verified it yet - just a theory.

Patches for 7-CURRENT:

http://people.freebsd.org/~pjd/patch...20060808.patch

Patches for 6-STABLE:

http://people.freebsd.org/~pjd/patch...20060808.patch

To apply the patches:

# cd /usr/src
# mkdir sys/geom/journal sbin/geom/class/journal sys/modules/geom/geom_jou=
rnal
# patch < gjournal_20060808.patch

Now you need to recompile the world and the kernel. Remember to add
'options UFS_GJOURNAL' to your kernel configuration file.

If there will be no bug reports nor strong objections, I'd like commit
gjournal in a week or two first to 7-CURRENT and then to 6-STABLE (maybe
before 6.2-RELEASE, but it depends on testing and feedback from users).

Enjoy!

--=20
Pawel Jakub Dawidek http://www.wheel.pl
pjd@FreeBSD.org http://www.FreeBSD.org
FreeBSD committer Am I Evil? Yes, I Am!

--2oS5YaxWCcQjTEyO
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.4 (FreeBSD)

iD8DBQFE2OtiForvXbEpPzQRAjQYAKD2fc0LlYXB+tU9byaHGU ZeX9ylGACghiYv
KgXkFP1OeBhEaeAiwAXGt9o=
=UosT
-----END PGP SIGNATURE-----

--2oS5YaxWCcQjTEyO--