Orphan lock requirements for using OpenDLM with OpenGFS

"Cahill, Ben M" <[email protected]> Wed, 7 Apr 2004 12:15:32 -0700
Newsgroups gmane.comp.file-systems.opengfs.devel
Message-ID <[email protected]>
Hi all,

Yesterday, I updated OpenGFS' DESIGN-opendlm doc to attempt to describe
requirements (as I understand them at the moment) for the use of OpenDLM
orphan locks in support of OpenGFS journal recovery.  I'd be grateful
for comments and suggestions.

The two biggest gaps seem to be:

1)  The ability to grab a lock that's being "held" as an orphan.
OpenGFS needs to be able to grab just a few special locks (e.g. journal
lock) on resources that may be locked as orphans held by a dead node.
We need to ignore the orphans, *but not* ignore other locks that may be
non-orphans.  There seems to be no API way of doing that (looking at the
programmers guide) ... Do we need a new "LKM_IGNOREORPHANS" flag or
similar?

2)  After journal recovery, we need to purge all those orphans ...  But,
only those for the filesystem that was just recovered (there can be
multiple OGFS filesystems mounted in the cluster).  All kernel-space
OpenDLM clients use the same "pid" of 0xF7F7F7F7.  A call to purge would
blow away *all* locks belonging to (kernel space clients on) the dead
node, not just the ones for the recovered filesystem ...

2) (cont'd)  ... To differentiate filesystems/lockspaces, we've created
a 32-bit hash of a unique string.  The hash value becomes part of the
lockname.  Could we use this 32-bit hash somehow as a cluster-wide
client identifier, so purge would clean out only this client's locks?


One other question ... For user-space clients, how does a pid identify a
given client *beyond the scope of a single node*, i.e. across the
cluster?  Can a client on one node ask to purge locks from a client on
another node?  How does it know which pid to purge?

-- Ben --

Opinions (and questions) are mine, not Intel's


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click