diff options
author | Sunil Mushran <sunil.mushran@oracle.com> | 2010-12-14 17:14:29 -0500 |
---|---|---|
committer | Joel Becker <joel.becker@oracle.com> | 2010-12-16 03:47:44 -0500 |
commit | 58a3158a5d17ddf4894db9e8ccaf92093ff8e42e (patch) | |
tree | 8d60017f95fccd425bb20c13a8b2e3bc7233d543 /fs/ocfs2/dlm | |
parent | ffee223a9af4c5124beb56fa5c84132949923d23 (diff) |
ocfs2/cluster: Pin/unpin o2hb regions
This patch adds support for pinning o2hb regions in configfs. Pinning disallows
a region to be cleanly stopped as long as it has an active dependent user
(read o2dlm).
In local heartbeat mode, the region uuid matching the domain name is pinned as
long as the o2dlm domain is active.
In global heartbeat mode, all regions are pinned as long as there is atleast
one dependent user and the region count is 3 or less. All regions are unpinned
if the number of dependent users is zero or region count is greater than 3.
Signed-off-by: Sunil Mushran <sunil.mushran@oracle.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Diffstat (limited to 'fs/ocfs2/dlm')
-rw-r--r-- | fs/ocfs2/dlm/dlmdomain.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/ocfs2/dlm/dlmdomain.c b/fs/ocfs2/dlm/dlmdomain.c index fcc40c33489d..7e38a072d720 100644 --- a/fs/ocfs2/dlm/dlmdomain.c +++ b/fs/ocfs2/dlm/dlmdomain.c | |||
@@ -1659,8 +1659,8 @@ bail: | |||
1659 | 1659 | ||
1660 | static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm) | 1660 | static void dlm_unregister_domain_handlers(struct dlm_ctxt *dlm) |
1661 | { | 1661 | { |
1662 | o2hb_unregister_callback(NULL, &dlm->dlm_hb_up); | 1662 | o2hb_unregister_callback(dlm->name, &dlm->dlm_hb_up); |
1663 | o2hb_unregister_callback(NULL, &dlm->dlm_hb_down); | 1663 | o2hb_unregister_callback(dlm->name, &dlm->dlm_hb_down); |
1664 | o2net_unregister_handler_list(&dlm->dlm_domain_handlers); | 1664 | o2net_unregister_handler_list(&dlm->dlm_domain_handlers); |
1665 | } | 1665 | } |
1666 | 1666 | ||
@@ -1672,13 +1672,13 @@ static int dlm_register_domain_handlers(struct dlm_ctxt *dlm) | |||
1672 | 1672 | ||
1673 | o2hb_setup_callback(&dlm->dlm_hb_down, O2HB_NODE_DOWN_CB, | 1673 | o2hb_setup_callback(&dlm->dlm_hb_down, O2HB_NODE_DOWN_CB, |
1674 | dlm_hb_node_down_cb, dlm, DLM_HB_NODE_DOWN_PRI); | 1674 | dlm_hb_node_down_cb, dlm, DLM_HB_NODE_DOWN_PRI); |
1675 | status = o2hb_register_callback(NULL, &dlm->dlm_hb_down); | 1675 | status = o2hb_register_callback(dlm->name, &dlm->dlm_hb_down); |
1676 | if (status) | 1676 | if (status) |
1677 | goto bail; | 1677 | goto bail; |
1678 | 1678 | ||
1679 | o2hb_setup_callback(&dlm->dlm_hb_up, O2HB_NODE_UP_CB, | 1679 | o2hb_setup_callback(&dlm->dlm_hb_up, O2HB_NODE_UP_CB, |
1680 | dlm_hb_node_up_cb, dlm, DLM_HB_NODE_UP_PRI); | 1680 | dlm_hb_node_up_cb, dlm, DLM_HB_NODE_UP_PRI); |
1681 | status = o2hb_register_callback(NULL, &dlm->dlm_hb_up); | 1681 | status = o2hb_register_callback(dlm->name, &dlm->dlm_hb_up); |
1682 | if (status) | 1682 | if (status) |
1683 | goto bail; | 1683 | goto bail; |
1684 | 1684 | ||