Hi Folks, For anyone who wants to start doing preliminary playing with GFS2: This morning, I finished my first version of the user-land tools for the new GFS2 filesystem and made them available in Red Hat's public CVS repository. Feel free to review them and/or try them out. (See warning at the bottom). The tools are as follows (with some comments): 1. libgfs2 This is a new library that the other tools rely upon and link against. In GFS1, each tool had its own way of doing things, and that was prone to mistakes. Now the tools all use a standard library of gfs2 functions, and more problems can be fixed in one place rather than many. 2. gfs2_convert This tool allows you to convert a gfs1 filesystem to gfs2 format. There are some minor differences between the gfs1 and gfs2 on-disk format that allows gfs2 to have better performance. So we wrote a tool to convert from one to the other. This tool also requires new library libgfs.a, which is in the gfs branch. 3. gfs2_fsck GFS2 filesystem checker. Enough said. Still needs some work. 4. mkfs.gfs2 GFS2 mkfs program. This will be incorporating udev's "libvolume_id.a" library for determining if a filesystem exists on the device, and what type. In GFS1, we used to do this in a home-grown fashion. Now we're going to start using a standard library. Unfortunately, libvolume_id.a doesn't exist on many systems yet, but that is planned, and we're all set to use it when it's there. In the meantime, we've got it stubbed in with some #ifdefs around. 5. gfs2_edit This is an internal filesystem debugging and editing tool we use here. It can be used to hex-edit the filesystem or print gfs2 data structures. It's a very dangerous tool in the wrong hands, but it has its uses. We've thrown out "gfs_debug" and incorporated the functionality into gfs2_edit. I'm planning to expand its capabilities in the future, to aid in data recovery for badly damaged filesystems that can't be mounted. For example, I'm planning to add the capability to copy files out of an unmounted fs using the tool. We're still working on gfs2_jadd and gfs2_grow, and of course, the GFS2 kernel modules are being incorporated into the upstream kernels. To get the whole cluster suite source code, with the gfs2 directory, use CVS. Do something like this: cvs -d :ext:sources.redhat.com:/cvs/cluster co -r HEAD cluster On the web at: http://sources.redhat.com/cgi-bin/cvsweb.cgi/cluster/gfs2/?cvsroot=cluster NOTE: This is for the user tools only. The GFS2 kernel source is lying in a public git tree on kernel.org, and should also be considered experimental: git clone rsync://rsync.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6.git gfs2-2.6 (Be forewarned: This is very big and takes a long time). WARNING: These tools are still experimental and I'm sure there are still problems, which we're still working on. So don't trust valuable data to it yet. After all, we are still in development mode. Some might think I'm premature to release these tools before they're rock-solid, but it's also valid that the open source community should get a look at them as soon as it became feasible in the spirit of release early/often. Maybe you can ferret out mistakes, problems or issues I've overlooked. Questions and comments are welcome. Once again, Red Hat puts its money where its mouth is regarding open source and the open source community. Enjoy. Regards, Bob Peterson Red Hat Cluster Suite -- Linux-cluster@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/linux-cluster