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).