gjournal: what is it good for?

David N davidn04 at gmail.com
Wed Apr 21 11:47:33 UTC 2010


On 21 April 2010 19:50, Andrew Reilly <areilly at bigpond.net.au> wrote:
> Hi David,
>
> On Wed, Apr 21, 2010 at 07:16:08PM +1000, David N wrote:
>> Can you show me a print out of
>> gjournal list
>
> here:
>
>
> Geom name: gjournal 827322917
> ID: 827322917
> Providers:
> 1. Name: mirror/gm0e.journal
>   Mediasize: 981949479936 (915G)
>   Sectorsize: 512
>   Mode: r1w1e1
> Consumers:
> 1. Name: mirror/gm0e
>   Mediasize: 983023222272 (916G)
>   Sectorsize: 512
>   Mode: r1w1e1
>   Jend: 983023221760
>   Jstart: 981949479936
>   Role: Data,Journal
>
> Geom name: gjournal 1843456033
> ID: 1843456033
> Providers:
> 1. Name: ad8s1a.journal
>   Mediasize: 1499228127232 (1.4T)
>   Sectorsize: 512
>   Mode: r1w1e1
> Consumers:
> 1. Name: ad8s1a
>   Mediasize: 1500301869568 (1.4T)
>   Sectorsize: 512
>   Mode: r1w1e1
>   Jend: 1500301869056
>   Jstart: 1499228127232
>   Role: Data,Journal
>
> Geom name: gjournal 3015273731
> ID: 3015273731
> Providers:
> 1. Name: ad10s1.journal
>   Mediasize: 749081051136 (698G)
>   Sectorsize: 512
>   Mode: r1w1e1
> Consumers:
> 1. Name: ad10s1
>   Mediasize: 750154793472 (699G)
>   Sectorsize: 512
>   Mode: r1w1e1
>   Jend: 750154792960
>   Jstart: 749081051136
>   Role: Data,Journal
>
>
>> and
>> bsdlabel /dev/mirror/gm0e.journal
>
> duncan [201]$ bsdlabel mirror/gm0e.journal
> bsdlabel: /dev/mirror/gm0e.journal: no valid label found
>
>> And any other .journal you have
>
> duncan [202]$ bsdlabel ad8s1a.journal
> bsdlabel: /dev/ad8s1a.journal: no valid label found
> duncan [203]$ bsdlabel ad10s1.journal
> # /dev/ad10s1.journal:
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>  a: 1465146065       16    unused        0     0
>  c: 1465146081        0    unused        0     0         # "raw" part, don't edit
> partition a: partition extends past end of unit
> partition c: partition extends past end of unit
> bsdlabel: partition c doesn't cover the whole unit!
> bsdlabel: An incorrect partition c may cause problems for standard system utilities
>
> Hmm.  That's a bit surprising.  I'm fairly certain that I didn't
> label ad10s1.journal, but that disk has been used for other
> things before, and the partition label is the the same (but
> without the warnings):
>
> duncan [204]$ bsdlabel ad10s1
> # /dev/ad10s1:
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>  a: 1465146065       16    unused        0     0
>  c: 1465146081        0    unused        0     0         # "raw" part, don't edit
>
> I guess I should have nuked the starting sectors a bit more
> thoroughly?
>
> That isn't the disk that's giving me panics though.
>
>> Just want to double check something.
>
> Hope that helps!
>
> Cheers,
>
> --
> Andrew
>
>

Sorry, i forgot the gm0e and ad8s1a is a label.
can you show me the bsdlabel for the mirror/gm0 and ad8s1

Also there is a overflow with the ad10s1 and journal

Geom name: gjournal 3015273731
ID: 3015273731
Providers:
1. Name: ad10s1.journal
  Mediasize: 749081051136 (698G)
  Sectorsize: 512
  Mode: r1w1e1
Consumers:
1. Name: ad10s1
  Mediasize: 750154793472 (699G)
  Sectorsize: 512
  Mode: r1w1e1
  Jend: 750154792960
  Jstart: 749081051136
  Role: Data,Journal

duncan [204]$ bsdlabel ad10s1
# /dev/ad10s1:
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
 a: 1465146065       16    unused        0     0
 c: 1465146081        0    unused        0     0         # "raw" part,
don't edit
partition a: partition extends past end of unit
partition c: partition extends past end of unit
bsdlabel: partition c doesn't cover the whole unit!
bsdlabel: An incorrect partition c may cause problems for standard
system utilities

When i first started, it kept complaining. For slices, you have the
ad10, put the s1 slice in, then you gjournal that, bsdlabel the
.journal. Then change the label to the mediasize of the journal/512.

So in your case your bsdlabel should be 749081051136 / 512 =
1463048928 with offset of 0.
c: 1465146081 - (what is expected)1463048928 = 2097153*512 =
1073742336 (which is roughly 1GB, your journal size)
Your c label is over by about 1GB  which means the fs is writing over
the journal part sometimes and the journal writing over the data
sometimes, which would lead to the journal overflow and journal/data
corruption.

I hope i haven't confused you. I started to gjournal the slices as
gjournalling the bsdlabels you needed to decrease your bsdlabel by 1
(thats where the GEOM data was stored) and gave me too many headaches.

If you gjournal the slices, then bsdlabel them, you just change the c
label to (.journal media size)/512 offset 0, and it all works.

Regards
David N


More information about the freebsd-fs mailing list