good for merge

On Tue, 2010-02-02 at 19:35 +1100, Angus Salkeld wrote:
> Hi
> 
> This is Steven's patch I have just done some testing (looks good).
> 
> Steve: I also removed a duplicate "static enum cs_sync_mode 
> minimum_sync_mode;"
> 
> I tested as follows:
> 
> 1) with compat=whitetank  (should use sync v1 & v2 engines, and all 
> sync_init()'s get called)
> 
> echo " " > /tmp/corosync.log
> service openais start
> grep Compatibility /tmp/corosync.log 
> Feb 02 19:24:21 corosync [MAIN  ] main_service_ready Compatibility mode set 
> to whitetank.  Using V1 and V2 of the synchronization engine.
> 
> = [correct compat mode set]
> 
> restart openais on another node and I get:
> grep _sync_init /tmp/corosync.log | cut -d' ' -f5 | sort | uniq
> [CPG
> [EVT
> [LCK
> [MSG
> 
> = [all services with a sync handler called]
> 
> grep SYNC /tmp/corosync.log | cut -d' ' -f5 | sort | uniq
> [SYNC
> [SYNCV2]
> 
> = [both sync engines used]
> 
> 2) with compat=none (should use sync v2 engine only, and all sync_init()'s 
> get called)
> 
> echo " " > /tmp/corosync.log
> service openais start
> grep Compatibility /tmp/corosync.log 
> Feb 02 19:19:20 corosync [MAIN  ] main_service_ready Compatibility mode set 
> to none.  Using V2 of the synchronization engine.
> 
> = [correct compat mode set]
> 
> restart openais on another node and I get:
> grep _sync_init /tmp/corosync.log | cut -d' ' -f5 | sort | uniq
> [CPG
> [EVT
> [LCK
> [MSG
> 
> = [all services with a sync handler called]
> 
> grep SYNC /tmp/corosync.log | cut -d' ' -f5 | sort | uniq
> [SYNCV2]
> 
> = [only the v2 sync engine used]
> 
> (so sync seems to run well in both modes)
> 
> Regards
> Angus
> 
> ---
>  exec/main.c |   42 ++++++++++++++++++++----------------------
>  1 files changed, 20 insertions(+), 22 deletions(-)
> 
> diff --git a/exec/main.c b/exec/main.c
> index 0aab772..5b50086 100644
> --- a/exec/main.c
> +++ b/exec/main.c
> @@ -122,8 +122,6 @@ static struct corosync_api_v1 *api = NULL;
>  
>  static enum cs_sync_mode minimum_sync_mode;
>  
> -static enum cs_sync_mode minimum_sync_mode;
> -
>  static int sync_in_process = 1;
>  
>  static hdb_handle_t corosync_poll_handle;
> @@ -1181,6 +1179,26 @@ static void main_service_ready (void)
>       evil_init (api);
>       corosync_stats_init ();
>       corosync_totem_stats_init ();
> +     if (minimum_sync_mode == CS_SYNC_V2) {
> +             log_printf (LOGSYS_LEVEL_NOTICE, "Compatibility mode set to 
> none.  Using V2 of the synchronization engine.\n");
> +             sync_v2_init (
> +                     corosync_sync_v2_callbacks_retrieve,
> +                     corosync_sync_completed);
> +     } else
> +     if (minimum_sync_mode == CS_SYNC_V1) {
> +             log_printf (LOGSYS_LEVEL_NOTICE, "Compatibility mode set to 
> whitetank.  Using V1 and V2 of the synchronization engine.\n");
> +             sync_register (
> +                     corosync_sync_callbacks_retrieve,
> +                     sync_v2_memb_list_determine,
> +                     sync_v2_memb_list_abort,
> +                     sync_v2_start);
> +
> +             sync_v2_init (
> +                     corosync_sync_v2_callbacks_retrieve,
> +                     corosync_sync_completed);
> +     }
> +
> +
>  }
>  
>  int main (int argc, char **argv)
> @@ -1477,26 +1495,6 @@ int main (int argc, char **argv)
>               &corosync_group,
>               1);
>  
> -     if (minimum_sync_mode == CS_SYNC_V2) {
> -             log_printf (LOGSYS_LEVEL_NOTICE, "Compatibility mode set to 
> none.  Using V2 of the synchronization engine.\n");
> -             sync_v2_init (
> -                     corosync_sync_v2_callbacks_retrieve,
> -                     corosync_sync_completed);
> -     } else
> -     if (minimum_sync_mode == CS_SYNC_V1) {
> -             log_printf (LOGSYS_LEVEL_NOTICE, "Compatibility mode set to 
> whitetank.  Using V1 and V2 of the synchronization engine.\n");
> -             sync_register (
> -                     corosync_sync_callbacks_retrieve,
> -                     sync_v2_memb_list_determine,
> -                     sync_v2_memb_list_abort,
> -                     sync_v2_start);
> -
> -             sync_v2_init (
> -                     corosync_sync_v2_callbacks_retrieve,
> -                     corosync_sync_completed);
> -     }
> -
> -
>       /*
>        * Drop root privleges to user 'ais'
>        * TODO: Don't really need full root capabilities;

_______________________________________________
Openais mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/openais

Reply via email to