Date: Thu, 10 Aug 2006 18:54:04 -0400 From: "Sean Bryant" <bryants@gmail.com> To: "Pawel Jakub Dawidek" <pjd@freebsd.org> Cc: freebsd-fs@freebsd.org, freebsd-current@freebsd.org, freebsd-geom@freebsd.org Subject: Re: GJournal (hopefully) final patches. Message-ID: <f6791cc60608101554w2b10d8a5y9dc87f2198080281@mail.gmail.com> In-Reply-To: <f6791cc60608101418r52c42aa0mad896951db5b75a@mail.gmail.com> References: <20060808195202.GA1564@garage.freebsd.pl> <f6791cc60608101418r52c42aa0mad896951db5b75a@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 8/10/06, Sean Bryant <bryants@gmail.com> wrote: > On 8/8/06, Pawel Jakub Dawidek <pjd@freebsd.org> wrote: > > 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 <fsdev>'. '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/patches/gjournal_20060808.patch > > > > Patches for 6-STABLE: > > > > http://people.freebsd.org/~pjd/patches/gjournal6_20060808.patch > > > > To apply the patches: > > > > # cd /usr/src > > # mkdir sys/geom/journal sbin/geom/class/journal sys/modules/geom/geom_journal > > # 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! > > > > -- > > Pawel Jakub Dawidek http://www.wheel.pl > > pjd@FreeBSD.org http://www.FreeBSD.org > > FreeBSD committer Am I Evil? Yes, I Am! > > > > > > > > Okay I have applied the latest patches. And everything works fine on a > new filesystem (newfsing). > > Trying to add it to an existing file system I'm getting problems. This > might be my fault. So I'll give it another go before reporting back my > problems. > > -- > Sean Bryant > Alright. After testing I've found the problem. You can enable journaling on an existing filesystem, provided the journaling provider is not the data provider. I could not do the following: tunefs -J enable ad4s1e gjournal label ad4s1e fsck_ffs -p ad4s1e I would get cannot read BLK XXXX. And various other problems. I don't see where you've actually stated this. I did have much success with the following: tunefs -j enable ad4s1e gjournal label ad4s1e ad6 (which is an used volume) fsck_ffs -p ad4s1e.journal I should note I tried this in a varity of ways. With only the previous resulting in a success existing filesystem using gjournal. During each of the trials I would set the configuration back to the original before attemping any more experimenation. Results: [failed] tunefs -J enable ad4s1e gjournal label ad4s1e fsck_ffs -p ad4s1e // failed [failed] gjournal label ad4s1e tunefs -J enable ad4s1e fsck_ffs -p ad4s1e // failed [failed] gjournal label ad4s1e tunefs -J enable ad4s1e.journal fsck_ffs -p ad4s1e // falied [passes and verified] tunefs -j enable ad4s1e gjournal label ad4s1e ad6 -- Sean Bryant
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f6791cc60608101554w2b10d8a5y9dc87f2198080281>