Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 46269
b: refs/heads/master
c: dc200a8
h: refs/heads/master
i:
  46267: e08d0f9
v: v3
  • Loading branch information
David Teigland authored and Steven Whitehouse committed Feb 5, 2007
1 parent beb0a93 commit ba0a9d1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c378051177dce4421428fd1691ffdf15ad57c161
refs/heads/master: dc200a8848cca8b0e99012996c66f4b379a390ed
10 changes: 9 additions & 1 deletion trunk/fs/dlm/lock.c
Original file line number Diff line number Diff line change
Expand Up @@ -3571,6 +3571,14 @@ int dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc)
lock_rsb(r);

switch (error) {
case -EBADR:
/* There's a chance the new master received our lock before
dlm_recover_master_reply(), this wouldn't happen if we did
a barrier between recover_masters and recover_locks. */
log_debug(ls, "master copy not ready %x r %lx %s", lkb->lkb_id,
(unsigned long)r, r->res_name);
dlm_send_rcom_lock(r, lkb);
goto out;
case -EEXIST:
log_debug(ls, "master copy exists %x", lkb->lkb_id);
/* fall through */
Expand All @@ -3585,7 +3593,7 @@ int dlm_recover_process_copy(struct dlm_ls *ls, struct dlm_rcom *rc)
/* an ack for dlm_recover_locks() which waits for replies from
all the locks it sends to new masters */
dlm_recovered_lock(r);

out:
unlock_rsb(r);
put_rsb(r);
dlm_put_lkb(lkb);
Expand Down

0 comments on commit ba0a9d1

Please sign in to comment.