[Cluster-devel] Re: furture plans for gfs2-utils: mount.gfs2 and the metafs

Steven Whitehouse swhiteho at redhat.com
Fri Jun 5 15:32:42 UTC 2009


Hi,

On Fri, 2009-06-05 at 09:54 -0500, David Teigland wrote:
> On Fri, Jun 05, 2009 at 11:00:17AM +0100, Steven Whitehouse wrote:
> > Another issue is how we mount gfs2 filesystems. I would like to try and
> > get rid of the mount.gfs2 helper for several reasons. Currently we are
> > using a different fstype (gfs2meta) to allow access to the GFS2 meta
> > filesystem. In reality though, we don't mount a different filesystem
> > type, but the same filesystem type as the "normal" filesystem, but with
> > a different root. We have also more recently also supported the "-o
> > meta" mount option to mount the meta root directly, but with some
> > restrictions. Bearing in mind how easy it is to lift those restrictions
> > (something that I've been discussing with Christoph) I'd like to raise
> > the possibility of replacing the mount.gfs2 helper with a system which
> > is very similar to that which we used to replace the umount.gfs2 helper
> > for similar reasons.
> > 
> > So the plan would be to enhance the mount function of GFS2 so that it is
> > possible to mount a GFS2 filesystem by allowing multiple mounts
> > (effectively a bind mount) of that block device with or without the "-o
> > meta" argument which is used to choose the filesystem root. The problem
> > of course, is the mount.gfs2 will then not know whether it is the first
> > mount of the fs, or a further mount of an existing fs unless its keeping
> > count of mounts per block device internally.
> 
> I don't follow your problem description there, could you state it more
> explicitly?  Give an example (sequence of commands), to demonstrate the
> problem (e.g. which command fails or doesn't do the right thing).
> 
I have an fstab entry like this:
/dev/sda7             /mnt/gfs0                   gfs2    noauto,rw,data=ordered,lockproto=lock_dlm,locktable=unity:myfs,quota=on,meta       1 2

and then I do:
[root at men-an-tol gfs2-2.6-fixes.git]# mount /mnt/gfs0
[root at men-an-tol gfs2-2.6-fixes.git]# mount -t gfs2 /mnt/gfs0 /mnt/gfs1
/sbin/mount.gfs2: bad read: Invalid argument on line 263 of file /builddir/build/BUILD/cluster-2.99.12/gfs2/mount/util.c
[root at men-an-tol gfs2-2.6-fixes.git]# mount -t gfs2 /mnt/gfs0 /mnt/gfs1 -o meta
/sbin/mount.gfs2: bad read: Invalid argument on line 263 of file /builddir/build/BUILD/cluster-2.99.12/gfs2/mount/util.c

which works on a single node lock_nolock without the mount helper.

> > The solution would be to use the uevent mechanism (probably the DLM's
> > uevents, but it could be done via the GFS2 ones too I think) to trigger
> > the loading of the DLM's config, setting of the journal id and whatever
> > else needs to be done, in a similar way that we use GFS2's umount uevent
> > to trigger leaving the cpg. It would have a number of advantages:
> 
> I'm familiar with using uevents to mount, that's the way it originally worked
> in 2005 (gfs Groundhog Day continues):
> 
> http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commit;h=2ec0da360f4eba591ecbf5e4dc8ed35b82f4142c
> 
> Dave
> 
Then the question arises, why was it changed?

Steve.





More information about the Cluster-devel mailing list