RE: [Opendlm-devel] Re: [ogfs-dev]False notification for recovery
Stanley Wang <[email protected]> Wed, 03 Mar 2004 08:41:29 +0800
| Newsgroups | gmane.comp.file-systems.opengfs.devel |
|---|---|
| Organization | Intel |
| Message-ID | <[email protected]> |
On Wed, 2004-03-03 at 05:50, Cahill, Ben M wrote: > Thanks, Stan, >=20 > This looks like good stuff. >=20 > Unfortunately, I did not get to it until late in the day, and need to s= top for now, but perhaps you can fix the following problem: >=20 > dlm_scnop() is not compiled into any of the kernel modules Thanks :) Because I have no machine to test it yesterday (I've borrowed two now:), I didn't find that dlm_scnop is in user space only. Sorry for my careless. After check the OpenDLM's codes, I found it's quite easy to bring dlm_scnop to kernel space, I don't know why it is in user space only (any comments?). However, I would keep it intact and change to use standard LVB operation. Best Regards, Stan > 2 options: >=20 > 1). Get it to build into one of the kernel modules. >=20 > 2). Use same techniques to set/read the LVB that you do elsewhere in t= he ODLM/OGFS lock module. If it's not too much trouble, I like this appr= oach better, but that's just one man's opinion. >=20 > -- Ben -- >=20 > Opinions are mine, not Intel's >=20 > > -----Original Message----- > > From: [email protected]=20 > > [mailto:[email protected]] On Behalf=20 > > Of Stanley Wang > > Sent: Tuesday, March 02, 2004 11:10 AM > > To: [email protected] > > Cc: [email protected] > > Subject: [Opendlm-devel] Re: [ogfs-dev]False notification for recover= y > >=20 > > First of all, thanks for Ben's help to debug the deadman lock module. > >=20 > > I've checked the bug fixes into the CVS.(Since I've no=20 > > machines to test it, I=20 > > don't run it really. But Ben will help me to test it. And I=20 > > will try to build=20 > > my own test environment ASAP.) > >=20 > > Some explaination about my fixes: > >=20 > > 1. Seperate "mount lock" and deadman lock. > > Every node should grab the "mount lock" first, and then try=20 > > to initialize the=20 > > deadman lock. After initialized deadman lock, the node knew=20 > > if it is the first=20 > > node to mount the OGFS. If it is not the first one, it=20 > > release "mount lock"=20 > > before return. If it is, "mount lock" would be released in=20 > > other_may_mount which is invoked by the client(OGFS). > >=20 > > 2. Using SCN to avoid false notification of recovery. > >=20 > > I define three states for each deadman lock: > >=20 > > DEADMAN_FIRST - last holder of this lock is the first=20 > > node that mount=20 > > OGFS. The first node sets SCN to this=20 > > value after it=20 > > gets others' deadman lock=20 > > DEADMAN_MOUNT - last holder of this lock is the right=20 > > owner. A node=20 > > sets SCN to this value after it grabs=20 > > its own deadman=20 > > lock. > > DEADMAN_UMOUNT - OGFS is un-mounted gracefully before=20 > > this lock is=20 > > released. A node sets SCN the this=20 > > value when it=20 > > un-mounts the OGFS. > >=20 > > more desciption: As you know, each node queues a CR mode lock=20 > > on each of other=20 > > node, and if anyone other node dies, the CR lock will be=20 > > granted and the node=20 > > gets notified by lock AST. In AST, the SCN of this lock is=20 > > checked. If the SCN=20 > > is DEADMAN_UMOUNT, it means that a node un-mounted OGFS, and=20 > > recoverying is not=20 > > needed. If the SCN is DEADMAN_MOUNT, it means a node die=20 > > before it un-mount the=20 > > OGFS, recoverying is needed. And DEADMAN_FIRST only will be=20 > > seen in the=20 > > initializing process, it means that the right owner of the=20 > > this lock requested=20 > > this lock, recoverying work is not needed. > >=20 > > 3. Avoid useless granting deadman lock=20 > >=20 > > After the first node grabs EX lock on all deadman locks, if a=20 > > sequent node tries=20 > > to queue CR lock on other's(execpt the first node) deadman=20 > > lock, a BAST is=20 > > triggered on the first node. In the original implementation,=20 > > the CR lock will be=20 > > granted. This behavior increasess overhead of deadman lock.=20 > > And now, the=20 > > requested lock state is also checked in the BAST, if it is=20 > > not EX mode, this=20 > > request is ignored. > >=20 > > More detailed information, please read the codes. > >=20 > > Any comments? > >=20 > > Best Regards, > > Stan > >=20 > > On Mon, 1 Mar 2004, Cahill, Ben M wrote: > >=20 > > > Stan and I were chatting about the excess recovery=20 > > notifications that we > > > get from the current ODLM lock module. These happen with=20 > > the current > > > deadman lock design when a client (filesystem) mounts or unmounts o= n > > > another node. > > >=20 > > > Without going into detail ... I'm wondering if we can use the *lock > > > value blocks* of the deadman locks to communicate whether: > > >=20 > > > 1) A client has cleanly unmounted (no recovery needed) > > >=20 > > > 2) A new client has mounted (no recovery needed after=20 > > first-to-mount) > > >=20 > > > 3) A node died (recovery needed) > > >=20 > > > -- Ben -- > > >=20 > > > Opinions are mine, not Intel's > > >=20 > > >=20 > > > ------------------------------------------------------- > > > 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_id=1356&alloc_id438&op=C3=8Ck > > > _______________________________________________ > > > Opengfs-devel mailing list > > > [email protected] > > > https://lists.sourceforge.net/lists/listinfo/opengfs-devel > > >=20 > >=20 > > --=20 > > Opinions expressed are those of the author and do not represent Intel > > Corporation > >=20 > >=20 > >=20 > >=20 > > ------------------------------------------------------- > > 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_id=1356&alloc_id438&op=3Dick > > _______________________________________________ > > Opendlm-devel mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/opendlm-devel > >=20 >=20 >=20 > ------------------------------------------------------- > 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_id=1356&alloc_id438&op=C3=8Ck > _______________________________________________ > Opendlm-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/opendlm-devel --=20 Opinions expressed are those of the author and do not represent Intel Corporation "gpg --recv-keys --keyserver wwwkeys.pgp.net E1390A7F" {E1390A7F:3AD1 1B0C 2019 E183 0CFF 55E8 369A 8B75 E139 0A7F} ------------------------------------------------------- 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_id=1356&alloc_id=3438&op=click