GEOM Journal vanished, module is loaded, might be my fault

Adam McDougall mcdouga9 at egr.msu.edu
Mon Aug 13 06:54:47 PDT 2007


Recently I did a new install of -current on my workstation.
I added a 190782MB <WDC WD2000JB-00EVA0 15.05R15> that was
formatted in a 6.x computer, created a journaled UFS partition
on it following the first example in the manpage, mounted it
and copied data in.  At the time I had manually compiled and
installed the geom_journal kernel module.  Last night I decided
to csup to -current and upgrade my system.  I did so and found
that fsck had failed due to a missing /dev/ad2s1.journal.  
I discovered I had forgotten to compile, install, and load the 
geom_journal automatically, but after fixing make.conf, loader.conf,
and installing and loading geom_journal, no journal devices were
detected still.  I know it used to exist, according to logs, my
memory, and fstab:
/dev/ad2s1.journal      /data4          ufs     rw,noauto,async 2       2
Aug  6 15:41:13 daemon kernel: GEOM_JOURNAL: Journal 2704801608: ad2s1 contains data.
Aug  6 15:41:13 daemon kernel: GEOM_JOURNAL: Journal 2704801608: ad2s1 contains journal.
Aug  6 15:41:13 daemon kernel: GEOM_JOURNAL: Journal ad2s1 clean.
Aug  6 16:07:53 daemon kernel: /data4: optimization changed from TIME to SPACE

and I've done this before successfully.  I had not otherwise rebooted
since creating this journal.  I tried booting the old kernel, still
did not detect, I tried booting with kern.geom.journal.debug=1
and geom_journal_load="YES" ( 9    1 0xc0f91000 14a54    geom_journal.ko)
and the kernel made no reference to ad2 in the bootup of the most
recent kernel other than detecting the drive itself.  All I see in
/dev from /dev/ad2* is:
crw-r-----  1 root  operator    0,  85 Aug 13 08:41 /dev/ad2

If I recall correctly, I had some difficulty when creating it,
something must have been strange with the partitioning because
it was angry and while debugging/fixing kept flipping between
ad2s1 and ad2s1c as I attempted to get the journal to detect
and function properly on the right device (using gjournal stop,etc):
Aug  6 15:35:10 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1 contains data.
Aug  6 15:35:10 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1 contains journal.
Aug  6 15:35:10 daemon kernel: GEOM_JOURNAL: Journal ad2s1 clean.
Aug  6 15:35:10 daemon kernel: WARNING: Expected rawoffset 0, found 63
Aug  6 15:38:25 daemon kernel: WARNING: Expected rawoffset 0, found 63
Aug  6 15:38:47 daemon kernel: WARNING: Expected rawoffset 0, found 63
Aug  6 15:38:59 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1c contains data.
Aug  6 15:38:59 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1c contains journal.
Aug  6 15:38:59 daemon kernel: GEOM_JOURNAL: Journal ad2s1c clean.
Aug  6 15:38:59 daemon kernel: WARNING: Expected rawoffset 0, found 63
Aug  6 15:39:36 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1 contains data.
Aug  6 15:39:36 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1 contains journal.
Aug  6 15:39:36 daemon kernel: GEOM_JOURNAL: Journal ad2s1 clean.
Aug  6 15:39:36 daemon kernel: WARNING: Expected rawoffset 0, found 63
Aug  6 15:39:48 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1c contains data.
Aug  6 15:39:48 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1c contains journal.
Aug  6 15:39:48 daemon kernel: GEOM_JOURNAL: Journal ad2s1c clean.
Aug  6 15:39:48 daemon kernel: WARNING: Expected rawoffset 0, found 63
Aug  6 15:40:30 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1 contains data.
Aug  6 15:40:30 daemon kernel: GEOM_JOURNAL: Journal 4249488822: ad2s1 contains journal.
Aug  6 15:40:30 daemon kernel: GEOM_JOURNAL: Journal ad2s1 clean.
I gave up on that situation on Aug 6 and I believe I used dd to zero out the
first meg of the disk, partitioned, and got a stable working journal setup
without unusual fuss.  

I'm pretty sure I have a backup of the data still, and it is of
low importance, but how can I figure out what happened and/or 
how to fix it?  I'm not going to poke around with it pending 
advice.  Maybe I managed to label and use a partition that the kernel 
previously detected, but wasn't actually created on disk?  Thanks for
any help.

% fdisk ad2
******* Working on device /dev/ad2 *******
parameters extracted from in-core disklabel are:
cylinders=387621 heads=16 sectors/track=63 (1008 blks/cyl)

Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=387621 heads=16 sectors/track=63 (1008 blks/cyl)

fdisk: invalid fdisk partition table found
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
    start 63, size 390721905 (190782 Meg), flag 80 (active)
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 548/ head 15/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>




More information about the freebsd-current mailing list