diff options
author | Kurt Hackel <kurt.hackel@oracle.com> | 2006-03-06 17:08:49 -0500 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2006-03-24 17:58:25 -0500 |
commit | c03872f5f50bc10f2a1a485f08879a8d01bcfe49 (patch) | |
tree | 9ac370cf1a7c015522af75af3f60e9d6c4425bbc /fs/ocfs2/dlm/dlmcommon.h | |
parent | 9c6510a5bfe2f1c5f5b93386c06954be02e974e4 (diff) |
[PATCH] ocfs2: dlm recovery fixes
when starting lock mastery (excepting the recovery lock) wait on any nodes
needing recovery. fix one instance where lock resources were left attached
to the recovery list after recovery completed. ensure that the node_down
code is run uniformly regardless of which node found the dead node first.
Signed-off-by: Kurt Hackel <kurt.hackel@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/dlm/dlmcommon.h')
-rw-r--r-- | fs/ocfs2/dlm/dlmcommon.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/ocfs2/dlm/dlmcommon.h b/fs/ocfs2/dlm/dlmcommon.h index 9c772583744a..a8aec9341347 100644 --- a/fs/ocfs2/dlm/dlmcommon.h +++ b/fs/ocfs2/dlm/dlmcommon.h | |||
@@ -658,6 +658,7 @@ void dlm_complete_thread(struct dlm_ctxt *dlm); | |||
658 | int dlm_launch_recovery_thread(struct dlm_ctxt *dlm); | 658 | int dlm_launch_recovery_thread(struct dlm_ctxt *dlm); |
659 | void dlm_complete_recovery_thread(struct dlm_ctxt *dlm); | 659 | void dlm_complete_recovery_thread(struct dlm_ctxt *dlm); |
660 | void dlm_wait_for_recovery(struct dlm_ctxt *dlm); | 660 | void dlm_wait_for_recovery(struct dlm_ctxt *dlm); |
661 | void dlm_kick_recovery_thread(struct dlm_ctxt *dlm); | ||
661 | int dlm_is_node_dead(struct dlm_ctxt *dlm, u8 node); | 662 | int dlm_is_node_dead(struct dlm_ctxt *dlm, u8 node); |
662 | int dlm_wait_for_node_death(struct dlm_ctxt *dlm, u8 node, int timeout); | 663 | int dlm_wait_for_node_death(struct dlm_ctxt *dlm, u8 node, int timeout); |
663 | 664 | ||
@@ -762,6 +763,11 @@ int dlm_request_all_locks_handler(struct o2net_msg *msg, u32 len, void *data); | |||
762 | int dlm_reco_data_done_handler(struct o2net_msg *msg, u32 len, void *data); | 763 | int dlm_reco_data_done_handler(struct o2net_msg *msg, u32 len, void *data); |
763 | int dlm_begin_reco_handler(struct o2net_msg *msg, u32 len, void *data); | 764 | int dlm_begin_reco_handler(struct o2net_msg *msg, u32 len, void *data); |
764 | int dlm_finalize_reco_handler(struct o2net_msg *msg, u32 len, void *data); | 765 | int dlm_finalize_reco_handler(struct o2net_msg *msg, u32 len, void *data); |
766 | int dlm_do_master_requery(struct dlm_ctxt *dlm, struct dlm_lock_resource *res, | ||
767 | u8 nodenum, u8 *real_master); | ||
768 | int dlm_lockres_master_requery(struct dlm_ctxt *dlm, | ||
769 | struct dlm_lock_resource *res, u8 *real_master); | ||
770 | |||
765 | 771 | ||
766 | int dlm_dispatch_assert_master(struct dlm_ctxt *dlm, | 772 | int dlm_dispatch_assert_master(struct dlm_ctxt *dlm, |
767 | struct dlm_lock_resource *res, | 773 | struct dlm_lock_resource *res, |