[ogfs-dev]Making progress on mounting with ODLM lock module

"Cahill, Ben M" <[email protected]> Fri, 27 Feb 2004 15:03:37 -0800
Newsgroups gmane.comp.file-systems.opengfs.devel
Message-ID <[email protected]>
Hi all,

I just checked in some code that improves how the ODLM lock module (for
OGFS) works regarding mount/unmount.

I can now successfully mount and unmount (once) OpenGFS on two nodes,
with no oopses.  When trying to mount a second time, it spins, waiting
for a deadman lock.  I'll look into that next week, unless Stan beats me
to it.

Yesterday, I was experiencing an oops during umount, which turned out to
be that we were trying to notify our client (OpenGFS) that a node had
died, *AFTER* OpenGFS had unmounted (and de-allocated its instance
structure, to which we pointed).

So, I put some checks into other_node_died(), deadman.c, to make sure
that our instance of the lock module is still up and running, before
notifying the client.

Stanley's removal of a call to release_mount_lock() yesterday got me
thinking about the internal (to lock module) MOUNT lock.  I'm thinking
right now that we don't need it; memexp used an internal MOUNT lock to
determine whether a node was first-to-mount (see ogfs-memexp doc).  But
we're using deadman locks to do the same.  I don't think we need the
(redundant/useless?) MOUNT lock, so I commented out the
grab_mount_lock() and release_mount_lock() implementations.  We can
think about that a little more before totally removing those functions.

-- Ben --



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id56&alloc_id438&op=click