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: [r...@men-an-tol gfs2-2.6-fixes.git]# mount /mnt/gfs0 [r...@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 [r...@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.
