Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 930526 Details for
Bug 614122
[RFE] port qdisk as corosync votequorum external quorum device
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
votequorum: Make qdev timeout in sync configurable
tmp.epWFjRNKCf (text/plain), 4.34 KB, created by
Jan Friesse
on 2014-08-25 14:39:50 UTC
(
hide
)
Description:
votequorum: Make qdev timeout in sync configurable
Filename:
MIME Type:
Creator:
Jan Friesse
Created:
2014-08-25 14:39:50 UTC
Size:
4.34 KB
patch
obsolete
>From 17488909d4ae0dc948eb9a4a15133570faaf9c0b Mon Sep 17 00:00:00 2001 >From: Jan Friesse <jfriesse@redhat.com> >Date: Tue, 5 Aug 2014 11:59:22 +0200 >Subject: [PATCH] votequorum: Make qdev timeout in sync configurable > >Configuration option quorum.device.sync_timeout is available for setting >qdevice poll timeout for synchronization phase. Default value is 30 >sec. > >Signed-off-by: Jan Friesse <jfriesse@redhat.com> >Reviewed-by: Christine Caulfield <ccaulfie@redhat.com> >--- > exec/coroparse.c | 1 + > exec/votequorum.c | 8 ++++++-- > include/corosync/votequorum.h | 1 + > man/votequorum_qdevice_poll.3.in | 7 +++++-- > 4 files changed, 13 insertions(+), 4 deletions(-) > >diff --git a/exec/coroparse.c b/exec/coroparse.c >index 422b586..74a4c2a 100644 >--- a/exec/coroparse.c >+++ b/exec/coroparse.c >@@ -557,6 +557,7 @@ static int main_config_parser_cb(const char *path, > break; > case MAIN_CP_CB_DATA_STATE_QDEVICE: > if ((strcmp(path, "quorum.device.timeout") == 0) || >+ (strcmp(path, "quorum.device.sync_timeout") == 0) || > (strcmp(path, "quorum.device.votes") == 0)) { > val_type = ICMAP_VALUETYPE_UINT32; > if (safe_atoq(value, &val, val_type) != 0) { >diff --git a/exec/votequorum.c b/exec/votequorum.c >index 7781077..78e6b7b 100644 >--- a/exec/votequorum.c >+++ b/exec/votequorum.c >@@ -71,6 +71,7 @@ static struct corosync_api_v1 *corosync_api; > static char qdevice_name[VOTEQUORUM_QDEVICE_MAX_NAME_LEN]; > static struct cluster_node *qdevice = NULL; > static unsigned int qdevice_timeout = VOTEQUORUM_QDEVICE_DEFAULT_TIMEOUT; >+static unsigned int qdevice_sync_timeout = VOTEQUORUM_QDEVICE_DEFAULT_SYNC_TIMEOUT; > static uint8_t qdevice_can_operate = 1; > static void *qdevice_reg_conn = NULL; > static uint8_t qdevice_master_wins = 0; >@@ -1197,6 +1198,9 @@ static int votequorum_qdevice_is_configured(uint32_t *qdevice_votes) > if (icmap_get_uint32("quorum.device.timeout", &qdevice_timeout) != CS_OK) { > qdevice_timeout = VOTEQUORUM_QDEVICE_DEFAULT_TIMEOUT; > } >+ if (icmap_get_uint32("quorum.device.sync_timeout", &qdevice_sync_timeout) != CS_OK) { >+ qdevice_sync_timeout = VOTEQUORUM_QDEVICE_DEFAULT_SYNC_TIMEOUT; >+ } > update_qdevice_can_operate(1); > ret = 1; > } >@@ -2244,13 +2248,13 @@ static void votequorum_sync_init ( > if (qdevice_timer_set) { > corosync_api->timer_delete(qdevice_timer); > } >- corosync_api->timer_add_duration((unsigned long long)qdevice_timeout*1000000, qdevice, >+ corosync_api->timer_add_duration((unsigned long long)qdevice_sync_timeout*1000000, qdevice, > qdevice_timer_fn, &qdevice_timer); > qdevice_timer_set = 1; > sync_wait_for_poll_or_timeout = 1; > > log_printf(LOGSYS_LEVEL_INFO, "waiting for quorum device %s poll (but maximum for %u ms)", >- qdevice_name, qdevice_timeout); >+ qdevice_name, qdevice_sync_timeout); > } > > LEAVE(); >diff --git a/include/corosync/votequorum.h b/include/corosync/votequorum.h >index ef5294a..9bc5690 100644 >--- a/include/corosync/votequorum.h >+++ b/include/corosync/votequorum.h >@@ -56,6 +56,7 @@ typedef uint64_t votequorum_handle_t; > #define VOTEQUORUM_QDEVICE_NODEID 0 > #define VOTEQUORUM_QDEVICE_MAX_NAME_LEN 255 > #define VOTEQUORUM_QDEVICE_DEFAULT_TIMEOUT 10000 >+#define VOTEQUORUM_QDEVICE_DEFAULT_SYNC_TIMEOUT 30000 > > #define VOTEQUORUM_NODESTATE_MEMBER 1 > #define VOTEQUORUM_NODESTATE_DEAD 2 >diff --git a/man/votequorum_qdevice_poll.3.in b/man/votequorum_qdevice_poll.3.in >index b8299df..044105b 100644 >--- a/man/votequorum_qdevice_poll.3.in >+++ b/man/votequorum_qdevice_poll.3.in >@@ -51,10 +51,13 @@ must be set (one get in votequorum_notification_fn callback) otherwise poll is i > This routine should be called at regular intervals to ensure that the device status > is always known to votequorum. If > .B votequorum_qdevice_poll >-is not called for (default) 10 seconds then the device will be deemed to be dead and >+is not called for (default) 10 seconds (or 30 seconds for sync phase) then the device will be deemed to be dead and > its votes removed from the cluster. This does not unregister the device. > The default poll time can be changed by setting the cmap variable >-quorum.quorumdev_poll. >+.B quorum.device.timeout >+for normal operation or >+.B quorum.device.sync_timeout >+for synchronization phase. > .SH RETURN VALUE > This call returns the CS_OK value if successful, otherwise an error is returned. > .PP >-- >1.7.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 614122
:
930521
|
930522
|
930523
|
930524
|
930525
|
930526
|
1205194