[DLM] confirm master for recovered waiting requests
authorDavid Teigland <teigland@redhat.com>
Fri, 8 Sep 2006 13:36:35 +0000 (08:36 -0500)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 8 Sep 2006 21:00:12 +0000 (17:00 -0400)
commitfa9f0e4925c7796afd14bf7bbf7a064078818bbc
treeeaa690bf742fafef333b11b50c5aed6468e7f891
parent37b2fa6a24f996d751dc80fbc8a77602cead269b
[DLM] confirm master for recovered waiting requests

Fixing the following scenario:
- A request is on the waiters list waiting for a reply from a remote node.
- The request is the first one on the resource, so first_lkid is set.
- The remote node fails causing recovery.
- During recovery the requesting node becomes master.
- The request is now processed locally instead of being a remote operation.
- At this point we need to call confirm_master() on the resource since
  we're certain we're now the master node.  This will clear first_lkid.
- We weren't calling confirm_master(), so first_lkid was not being cleared
  causing subsequent requests on that resource to get stuck.

Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/dlm/lock.c