RE: RE: [Opendlm-devel] ODLM/OGFS Recovery

"Cahill, Ben M" <[email protected]> Mon, 26 Apr 2004 13:36:00 -0700
Newsgroups gmane.comp.file-systems.opengfs.devel
Message-ID <[email protected]>
>=20
> >CA uses the DLM_VALNOTVALID invalid LVB status as a possible earlier
> >indicator.  I haven't convinced myself that that is early enough, or
> >conclusive enough (discussion was in the attachment, "false
> >positive/negative"), to serve as the trigger for withholding=20
> locks from
> >OGFS (but it might be, and I might not understand it well enough!).
> >Plus, it forces us to use LVBs with every lock (maybe not a huge
> >problem, but nice to avoid if possible).  And, it prevents=20
> us from using
> >the LKM_INVVALBLK flag!  (but I don't think there's a need=20
> to, so not a
> >problem).
> >
> > =20
> >
> Using DLM_VALNOTVALID will cause much trouble for us.
> 1. When you try to lock a new resource with (lock_mode < PW +=20
> LKM_VALBLK), you will get DLM_VALNOTVALID.

Can you confirm statement #1?  If it's true, then I don't understand how
CA can use DLM_VALNOTVALID as a recovery indicator.

> 2. We can't invalidate LVB any more.

Re: #2, that's been troubling me also, although I don't think we use
that feature for OGFS, do we?

In any case, it seems to me that use of the DLM_VALNOTVALID is kind of
"work-aroundish".  That is, it's a somewhat indirect indication that the
lock recovery is happening, and subject to some uncertainty, and/or LVB
usage restrictions (i.e. can't use LKM_INVVALBLK) and requirements (i.e.
must use an LVB for every lock).

How about a DLM_RECOVER status bit that would get set whenever a lock
was granted as part of the ODLM lock recovery process??  That would be
conclusive, and would not restrict the use of the LVB.  I think it would
be pretty easy to implement ... Just look at some recovery global state
machine variables when granting the lock, and set the status flag
appropriately.


>=20
> And since deadman lock will be granted before all new lock requests=20
> (issued after node down event),  I think use  deadman lock as the=20
> notification is early enough.

But that doesn't keep any of the locks that were blocked by the dead
node from being granted to other nodes, during the lock recovery
process.  There could be many locks waiting, requested before the node
down event, to be granted!  Allowing grants on these could allow other
nodes to write to areas that they shouldn't (i.e. the areas that the
dead node was writing).  That's the whole purpose of the (fake)
persistence of the dead node's EX locks.

> And we needn't care about=20
> orphan lock any=20
> more.

Agreed.  Orphan locks are not going to help OGFS.

-- Ben --

Opinions are mine, not Intel's


-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297