diff options
author | David Teigland <teigland@redhat.com> | 2011-02-21 15:58:21 -0500 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2011-03-10 11:40:00 -0500 |
commit | 8304d6f24cc1221392b6d61fa9d16631cbd6beb7 (patch) | |
tree | ca9b333d500d2fc56a45263aa08c4093875cbe12 /fs/dlm/rcom.c | |
parent | 35d34df711e8b44846e759d8cfddb4ec6877cccb (diff) |
dlm: record full callback state
Change how callbacks are recorded for locks. Previously, information
about multiple callbacks was combined into a couple of variables that
indicated what the end result should be. In some situations, we
could not tell from this combined state what the exact sequence of
callbacks were, and would end up either delivering the callbacks in
the wrong order, or suppress redundant callbacks incorrectly. This
new approach records all the data for each callback, leaving no
uncertainty about what needs to be delivered.
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/rcom.c')
-rw-r--r-- | fs/dlm/rcom.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/dlm/rcom.c b/fs/dlm/rcom.c index 3c83a49a48a3..f10a50f24e8f 100644 --- a/fs/dlm/rcom.c +++ b/fs/dlm/rcom.c | |||
@@ -321,9 +321,9 @@ static void pack_rcom_lock(struct dlm_rsb *r, struct dlm_lkb *lkb, | |||
321 | rl->rl_wait_type = cpu_to_le16(lkb->lkb_wait_type); | 321 | rl->rl_wait_type = cpu_to_le16(lkb->lkb_wait_type); |
322 | 322 | ||
323 | if (lkb->lkb_bastfn) | 323 | if (lkb->lkb_bastfn) |
324 | rl->rl_asts |= AST_BAST; | 324 | rl->rl_asts |= DLM_CB_BAST; |
325 | if (lkb->lkb_astfn) | 325 | if (lkb->lkb_astfn) |
326 | rl->rl_asts |= AST_COMP; | 326 | rl->rl_asts |= DLM_CB_CAST; |
327 | 327 | ||
328 | rl->rl_namelen = cpu_to_le16(r->res_length); | 328 | rl->rl_namelen = cpu_to_le16(r->res_length); |
329 | memcpy(rl->rl_name, r->res_name, r->res_length); | 329 | memcpy(rl->rl_name, r->res_name, r->res_length); |