dlm: save master info after failed no-queue request
authorDavid Teigland <teigland@redhat.com>
Thu, 21 Feb 2008 17:25:42 +0000 (11:25 -0600)
committerDavid Teigland <teigland@redhat.com>
Mon, 21 Apr 2008 16:18:01 +0000 (11:18 -0500)
When a NOQUEUE request fails, the rsb res_master field is unnecessarily
reset to -1, instead of leaving the valid master setting in place.  We
want to save the looked-up master values while the rsb is on the "toss
list" so that another lookup can be avoided if the rsb is soon reused.
The fix is to simply leave res_master value alone.

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

index 1e9e8ebee25120caef0b7519b402137817cacc39..2d3d1027ce2bbdfbc30fef5631b1ce378deaf05e 100644 (file)
@@ -1956,8 +1956,7 @@ static void confirm_master(struct dlm_rsb *r, int error)
                        list_del_init(&lkb->lkb_rsb_lookup);
                        r->res_first_lkid = lkb->lkb_id;
                        _request_lock(r, lkb);
-               } else
-                       r->res_nodeid = -1;
+               }
                break;
 
        default: