diff options
author | David Teigland <teigland@redhat.com> | 2008-02-21 12:25:42 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2008-04-21 12:18:01 -0400 |
commit | 761b9d3ffc953c24ceb55d8e12ff7e02b17e0484 (patch) | |
tree | 07dcab128761847c008b589bf367715f2fcd60b0 /fs/dlm/lock.c | |
parent | 170e19ab2900b7c959d7a0e627fd12f383efcfa1 (diff) |
dlm: save master info after failed no-queue request
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>
Diffstat (limited to 'fs/dlm/lock.c')
-rw-r--r-- | fs/dlm/lock.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c index 1e9e8ebee251..2d3d1027ce2b 100644 --- a/fs/dlm/lock.c +++ b/fs/dlm/lock.c | |||
@@ -1956,8 +1956,7 @@ static void confirm_master(struct dlm_rsb *r, int error) | |||
1956 | list_del_init(&lkb->lkb_rsb_lookup); | 1956 | list_del_init(&lkb->lkb_rsb_lookup); |
1957 | r->res_first_lkid = lkb->lkb_id; | 1957 | r->res_first_lkid = lkb->lkb_id; |
1958 | _request_lock(r, lkb); | 1958 | _request_lock(r, lkb); |
1959 | } else | 1959 | } |
1960 | r->res_nodeid = -1; | ||
1961 | break; | 1960 | break; |
1962 | 1961 | ||
1963 | default: | 1962 | default: |