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