public inbox for cluster-cvs@sourceware.org
help / color / mirror / Atom feed
* cluster gfs2/fsck/ondisk.h gfs2-kernel/src/gfs ...
@ 2005-11-23 15:15 swhiteho
0 siblings, 0 replies; 2+ messages in thread
From: swhiteho @ 2005-11-23 15:15 UTC (permalink / raw)
To: cluster-cvs
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: swhiteho@sourceware.org 2005-11-23 15:15:28
Modified files:
gfs2/fsck : ondisk.h
gfs2-kernel/src/gfs2: gfs2_ondisk.h
Log message:
N.B. This patch changes the ondisk format of GFS2, so you'll need to remake
filesystems.
The idea here is to make the metadata closer to that of GFS1 in order to
reduce the amount of work required to migrate GFS1 -> GFS2. This patch
changes the numercial value of a few constants to match those of
identical function in GFS1. One of the GFS1 constants is no longer
used in GFS2 (as noted in the comments) and there are two new constants
added.
As far as I can tell there are no more constants in GFS2 which are
not comaptible with those in GFS1. All the remaining ondisk
incompatibilities are due to structures changing size and I'll
be taking a look at those next.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/fsck/ondisk.h.diff?cvsroot=cluster&r1=1.1&r2=1.2
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2-kernel/src/gfs2/gfs2_ondisk.h.diff?cvsroot=cluster&r1=1.14&r2=1.15
^ permalink raw reply [flat|nested] 2+ messages in thread
* cluster gfs2/fsck/ondisk.h gfs2-kernel/src/gfs ...
@ 2005-11-29 13:04 swhiteho
0 siblings, 0 replies; 2+ messages in thread
From: swhiteho @ 2005-11-29 13:04 UTC (permalink / raw)
To: cluster-cvs
CVSROOT: /cvs/cluster
Module name: cluster
Changes by: swhiteho@sourceware.org 2005-11-29 13:03:59
Modified files:
gfs2/fsck : ondisk.h
gfs2-kernel/src/gfs2: gfs2_ondisk.h
Log message:
Sorry - another ondisk format changing check in...
I've reordered the fields in the common metadata header and added a pad
field so that this structure is now of identical size as in gfs1. It
also has identically functioning fields in the same place.
One new field is added, mh_blkno which contains the block number of
the block in question. This is instead of the generation number used
in gfs1's journaling and now no longer needed. The mh_blkno field is
checked only once in the code and could be moved into the structure
where its required, rather than being left in the common header. (I
checked this with Ken who added the field in the first place)
I have a thought that it might be a useful feature to have all ondisk
metadata checksummed in which case this header field might be just the
right place to put it.
Also some padding is added to the dinode, sb and rgrp structures in order
to make them compatible with the earier gfs1 versions. Again fields are
now in the same places as in gfs1 with padding added where required since
the fields have got smaller.
I don't believe that there will be any significant performance impact in
changing these structures, but it should make things much easier when it
comes to migration.
There are other structures (I think that the various directory metadata
comes under this heading) where removing the padding is likely to
improve performance significantly and so I'm intending to take a
different approach there.
There is likely to be at least one more metadata change for gfs2 in
the not too distant future. My next main concern is to make gfs2
bigendian on disk, to match gfs1. Beyond that, all the other changes
should be much easier to cope with. I did a test recently and found that
given a few 32bit fields to copy, adding endian coversion made about
12% difference to the speeed of copying (which we are doing anyway).
If we keep the two versions with the same on disk endianess then a lot
of the metadata will not need conversion at all (given the changes in
this patch). So an upgrade will be quite quick, rather than needing to
rewrite each and every metadata disk block.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2/fsck/ondisk.h.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs2-kernel/src/gfs2/gfs2_ondisk.h.diff?cvsroot=cluster&r1=1.15&r2=1.16
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-11-29 13:04 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-11-23 15:15 cluster gfs2/fsck/ondisk.h gfs2-kernel/src/gfs swhiteho
2005-11-29 13:04 swhiteho
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).