ACK On 17/01/12 12:03 +0100, Fabio M. Di Nitto wrote:
From: "Fabio M. Di Nitto" <fdinitto@xxxxxxxxxx> Signed-off-by: Fabio M. Di Nitto <fdinitto@xxxxxxxxxx> --- :100644 100644 e0831e1... 429be6d... M exec/vsf_quorum.c :100644 100644 01eab84... 901d3aa... M exec/vsf_ykd.c :000000 100644 0000000... c03d8b3... A exec/vsf_ykd.h exec/vsf_quorum.c | 7 +++++++ exec/vsf_ykd.c | 10 +++++++++- exec/vsf_ykd.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletions(-) diff --git a/exec/vsf_quorum.c b/exec/vsf_quorum.c index e0831e1..429be6d 100644 --- a/exec/vsf_quorum.c +++ b/exec/vsf_quorum.c @@ -67,7 +67,9 @@ #include <corosync/engine/quorum.h> #include <corosync/icmap.h> +#include "service.h" #include "votequorum.h" +#include "vsf_ykd.h" LOGSYS_DECLARE_SUBSYS ("QUORUM"); @@ -278,6 +280,11 @@ static int quorum_exec_init_fn (struct corosync_api_v1 *api) quorum_type = 1; } } + if (strcmp (quorum_module, "corosync_ykd") == 0) { + if (ykd_init (api, quorum_api_set_quorum) == CS_OK) { + quorum_type = 1; + } + } } if (quorum_module) { diff --git a/exec/vsf_ykd.c b/exec/vsf_ykd.c index 01eab84..901d3aa 100644 --- a/exec/vsf_ykd.c +++ b/exec/vsf_ykd.c @@ -64,6 +64,8 @@ #include <corosync/engine/quorum.h> #include <corosync/swab.h> +#include "vsf_ykd.h" + LOGSYS_DECLARE_SUBSYS ("YKD"); #define YKD_PROCESSOR_COUNT_MAX 32 @@ -506,13 +508,17 @@ struct corosync_tpg_group ykd_group = { .group_len = 3 }; -static void ykd_init ( +cs_error_t ykd_init ( struct corosync_api_v1 *corosync_api, quorum_set_quorate_fn_t set_primary) { ykd_primary_callback_fn = set_primary; api = corosync_api; + if ((!corosync_api) || (!set_primary)) { + return CS_ERR_INVALID_PARAM; + } + api->tpg_init ( &ykd_group_handle, ykd_deliver_fn, @@ -524,4 +530,6 @@ static void ykd_init ( 1); ykd_state_init (); + + return CS_OK; } diff --git a/exec/vsf_ykd.h b/exec/vsf_ykd.h new file mode 100644 index 0000000..c03d8b3 --- /dev/null +++ b/exec/vsf_ykd.h @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2012 Red Hat, Inc. + * + * All rights reserved. + * + * Author: Fabio M. Di Nitto (fdinitto@xxxxxxxxxx) + * + * This software licensed under BSD license, the text of which follows: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * - Neither the name of the MontaVista Software, Inc. nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + * THE POSSIBILITY OF SUCH DAMAGE. + */ +#ifndef VFS_YKD_H_DEFINED +#define VFS_YKD_H_DEFINED + +#include <corosync/logsys.h> +#include <corosync/list.h> +#include <corosync/coroapi.h> + +extern cs_error_t ykd_init(struct corosync_api_v1 *api, + quorum_set_quorate_fn_t set_primary); + +#endif /* VFS_YKD_H_DEFINED */ -- 1.7.7.5 _______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list discuss@xxxxxxxxxxxx http://lists.corosync.org/mailman/listinfo/discuss