Re: [PATCH] Remove unused or unimplemented CFG apis

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Feb 13, 2012 at 4:04 PM, Fabio M. Di Nitto <fdinitto@xxxxxxxxxx> wrote:
> Temporary NACK. I agree most of this API should go and the patch looks
> fine but there are consumers of some of those bits.
>
> pacemaker uses cfg_state_track
>
> mcp/corosync.c:146:    cs_repeat(retries, 30, rc =
> corosync_cfg_state_track(cfg_handle, 0, &cfg_buffer));
>
> (tho i have no idea what this code does or if it's even in use)
>
> Andrew?

Looking closer, it is only in use when building against corosync <= 1.4
So we shouldn't be affected

> dlm needs porting (due to cfg callback changes).
>
> Either me or David can easily take care of this but Andrew is the major
> consumer here.
>
> Fabio
>
> On 02/13/2012 03:45 AM, Steven Dake wrote:
>> Remove:
>> cfg_statetrack
>> cfg_statetrackstop
>> cfg_administrativestateste
>> cfg_administrativestateget
>> cfg_serviceload
>> cfg_serviceunload
>>
>> Rev SO to 5.0.0
>>
>> Signed-off-by: Steven Dake <sdake@xxxxxxxxxx>
>> ---
>>  cts/agents/cpg_test_agent.c |    6 --
>>  exec/cfg.c                  |  170 +-----------------------------------------
>>  include/corosync/cfg.h      |   81 --------------------
>>  include/corosync/ipc_cfg.h  |   78 ++------------------
>>  lib/cfg.c                   |  147 -------------------------------------
>>  lib/libcfg.verso            |    2 +-
>>  tools/corosync-cfgtool.c    |   75 +------------------
>>  tools/corosync-quorumtool.c |    1 -
>>  8 files changed, 14 insertions(+), 546 deletions(-)
>>
>> diff --git a/cts/agents/cpg_test_agent.c b/cts/agents/cpg_test_agent.c
>> index 79de0d3..e99f522 100644
>> --- a/cts/agents/cpg_test_agent.c
>> +++ b/cts/agents/cpg_test_agent.c
>> @@ -244,7 +244,6 @@ static void my_shutdown_callback (corosync_cfg_handle_t handle,
>>
>>  static corosync_cfg_callbacks_t cfg_callbacks = {
>>       .corosync_cfg_shutdown_callback = my_shutdown_callback,
>> -     .corosync_cfg_state_track_callback = NULL,
>>  };
>>  static cpg_callbacks_t callbacks = {
>>       .cpg_deliver_fn = delivery_callback,
>> @@ -559,8 +558,6 @@ static void msg_blaster_zcb (int sock, char* num_to_send_str)
>>       send_some_more_messages_zcb ();
>>  }
>>
>> -static corosync_cfg_state_notification_t notification_buffer;
>> -
>>  static int cfg_dispatch_wrapper_fn (
>>       int fd,
>>       int revents,
>> @@ -737,9 +734,6 @@ static void do_command (int sock, char* func, char*args[], int num_args)
>>               result = corosync_cfg_fd_get (cfg_handle, &cfg_fd);
>>               qb_log (LOG_INFO,"corosync_cfg_fd_get() == %d", result);
>>
>> -             result = corosync_cfg_state_track (cfg_handle, 0, &notification_buffer);
>> -             qb_log (LOG_INFO,"corosync_cfg_state_track() == %d", result);
>> -
>>               qb_loop_poll_add (ta_poll_handle_get(),
>>                       QB_LOOP_MED,
>>                       cfg_fd,
>> diff --git a/exec/cfg.c b/exec/cfg.c
>> index f195395..2fe6c97 100644
>> --- a/exec/cfg.c
>> +++ b/exec/cfg.c
>> @@ -137,30 +137,6 @@ static void message_handler_req_lib_cfg_ringreenable (
>>       void *conn,
>>       const void *msg);
>>
>> -static void message_handler_req_lib_cfg_statetrack (
>> -     void *conn,
>> -     const void *msg);
>> -
>> -static void message_handler_req_lib_cfg_statetrackstop (
>> -     void *conn,
>> -     const void *msg);
>> -
>> -static void message_handler_req_lib_cfg_administrativestateset (
>> -     void *conn,
>> -     const void *msg);
>> -
>> -static void message_handler_req_lib_cfg_administrativestateget (
>> -     void *conn,
>> -     const void *msg);
>> -
>> -static void message_handler_req_lib_cfg_serviceload (
>> -     void *conn,
>> -     const void *msg);
>> -
>> -static void message_handler_req_lib_cfg_serviceunload (
>> -     void *conn,
>> -     const void *msg);
>> -
>>  static void message_handler_req_lib_cfg_killnode (
>>       void *conn,
>>       const void *msg);
>> @@ -199,50 +175,26 @@ static struct corosync_lib_handler cfg_lib_engine[] =
>>               .flow_control           = CS_LIB_FLOW_CONTROL_REQUIRED
>>       },
>>       { /* 2 */
>> -             .lib_handler_fn         = message_handler_req_lib_cfg_statetrack,
>> -             .flow_control           = CS_LIB_FLOW_CONTROL_REQUIRED
>> -     },
>> -     { /* 3 */
>> -             .lib_handler_fn         = message_handler_req_lib_cfg_statetrackstop,
>> -             .flow_control           = CS_LIB_FLOW_CONTROL_REQUIRED
>> -     },
>> -     { /* 4 */
>> -             .lib_handler_fn         = message_handler_req_lib_cfg_administrativestateset,
>> -             .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>> -     },
>> -     { /* 5 */
>> -             .lib_handler_fn         = message_handler_req_lib_cfg_administrativestateget,
>> -             .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>> -     },
>> -     { /* 6 */
>> -             .lib_handler_fn         = message_handler_req_lib_cfg_serviceload,
>> -             .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>> -     },
>> -     { /* 7 */
>> -             .lib_handler_fn         = message_handler_req_lib_cfg_serviceunload,
>> -             .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>> -     },
>> -     { /* 8 */
>>               .lib_handler_fn         = message_handler_req_lib_cfg_killnode,
>>               .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>>       },
>> -     { /* 9 */
>> +     { /* 3 */
>>               .lib_handler_fn         = message_handler_req_lib_cfg_tryshutdown,
>>               .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>>       },
>> -     { /* 10 */
>> +     { /* 4 */
>>               .lib_handler_fn         = message_handler_req_lib_cfg_replytoshutdown,
>>               .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>>       },
>> -     { /* 11 */
>> +     { /* 5 */
>>               .lib_handler_fn         = message_handler_req_lib_cfg_get_node_addrs,
>>               .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>>       },
>> -     { /* 12 */
>> +     { /* 6 */
>>               .lib_handler_fn         = message_handler_req_lib_cfg_local_get,
>>               .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>>       },
>> -     { /* 13 */
>> +     { /* 7 */
>>               .lib_handler_fn         = message_handler_req_lib_cfg_crypto_set,
>>               .flow_control           = CS_LIB_FLOW_CONTROL_NOT_REQUIRED
>>       }
>> @@ -682,118 +634,6 @@ static void message_handler_req_lib_cfg_ringreenable (
>>       LEAVE();
>>  }
>>
>> -static void message_handler_req_lib_cfg_statetrack (
>> -     void *conn,
>> -     const void *msg)
>> -{
>> -     struct cfg_info *ci = (struct cfg_info *)api->ipc_private_data_get (conn);
>> -     struct res_lib_cfg_statetrack res_lib_cfg_statetrack;
>> -
>> -     ENTER();
>> -
>> -     /*
>> -      * We only do shutdown tracking at the moment
>> -      */
>> -     if (list_empty(&ci->list)) {
>> -             list_add(&ci->list, &trackers_list);
>> -             ci->tracker_conn = conn;
>> -
>> -             if (shutdown_con) {
>> -                     /*
>> -                      * Shutdown already in progress, ask the newcomer's opinion
>> -                      */
>> -                     ci->shutdown_reply = SHUTDOWN_REPLY_UNKNOWN;
>> -                     shutdown_expected++;
>> -                     send_test_shutdown(conn, NULL, CS_OK);
>> -             }
>> -     }
>> -
>> -     res_lib_cfg_statetrack.header.size = sizeof(struct res_lib_cfg_statetrack);
>> -     res_lib_cfg_statetrack.header.id = MESSAGE_RES_CFG_STATETRACKSTART;
>> -     res_lib_cfg_statetrack.header.error = CS_OK;
>> -
>> -     api->ipc_response_send(conn, &res_lib_cfg_statetrack,
>> -                                 sizeof(res_lib_cfg_statetrack));
>> -
>> -     LEAVE();
>> -}
>> -
>> -static void message_handler_req_lib_cfg_statetrackstop (
>> -     void *conn,
>> -     const void *msg)
>> -{
>> -     struct cfg_info *ci = (struct cfg_info *)api->ipc_private_data_get (conn);
>> -//   struct req_lib_cfg_statetrackstop *req_lib_cfg_statetrackstop = (struct req_lib_cfg_statetrackstop *)message;
>> -
>> -     ENTER();
>> -     remove_ci_from_shutdown(ci);
>> -     LEAVE();
>> -}
>> -
>> -static void message_handler_req_lib_cfg_administrativestateset (
>> -     void *conn,
>> -     const void *msg)
>> -{
>> -//   struct req_lib_cfg_administrativestateset *req_lib_cfg_administrativestateset = (struct req_lib_cfg_administrativestateset *)message;
>> -
>> -     ENTER();
>> -     LEAVE();
>> -}
>> -static void message_handler_req_lib_cfg_administrativestateget (
>> -     void *conn,
>> -     const void *msg)
>> -{
>> -//   struct req_lib_cfg_administrativestateget *req_lib_cfg_administrativestateget = (struct req_lib_cfg_administrativestateget *)message;
>> -     ENTER();
>> -     LEAVE();
>> -}
>> -
>> -static void message_handler_req_lib_cfg_serviceload (
>> -     void *conn,
>> -     const void *msg)
>> -{
>> -     const struct req_lib_cfg_serviceload *req_lib_cfg_serviceload = msg;
>> -     struct res_lib_cfg_serviceload res_lib_cfg_serviceload;
>> -
>> -     ENTER();
>> -     api->service_link_and_init (
>> -             api,
>> -             (const char *)req_lib_cfg_serviceload->service_name,
>> -             req_lib_cfg_serviceload->service_ver);
>> -
>> -     res_lib_cfg_serviceload.header.id = MESSAGE_RES_CFG_SERVICEUNLOAD;
>> -     res_lib_cfg_serviceload.header.size = sizeof (struct res_lib_cfg_serviceload);
>> -     res_lib_cfg_serviceload.header.error = CS_OK;
>> -     api->ipc_response_send (
>> -             conn,
>> -             &res_lib_cfg_serviceload,
>> -             sizeof (struct res_lib_cfg_serviceload));
>> -     LEAVE();
>> -}
>> -
>> -static void message_handler_req_lib_cfg_serviceunload (
>> -     void *conn,
>> -     const void *msg)
>> -{
>> -     const struct req_lib_cfg_serviceunload *req_lib_cfg_serviceunload = msg;
>> -     struct res_lib_cfg_serviceunload res_lib_cfg_serviceunload;
>> -
>> -     ENTER();
>> -     api->service_unlink_and_exit (
>> -             api,
>> -             (const char *)req_lib_cfg_serviceunload->service_name,
>> -             req_lib_cfg_serviceunload->service_ver);
>> -     res_lib_cfg_serviceunload.header.id = MESSAGE_RES_CFG_SERVICEUNLOAD;
>> -     res_lib_cfg_serviceunload.header.size = sizeof (struct res_lib_cfg_serviceunload);
>> -     res_lib_cfg_serviceunload.header.error = CS_OK;
>> -     api->ipc_response_send (
>> -             conn,
>> -             &res_lib_cfg_serviceunload,
>> -             sizeof (struct res_lib_cfg_serviceunload));
>> -     LEAVE();
>> -}
>> -
>> -
>>  static void message_handler_req_lib_cfg_killnode (
>>       void *conn,
>>       const void *msg)
>> diff --git a/include/corosync/cfg.h b/include/corosync/cfg.h
>> index 903d1ef..0f556ba 100644
>> --- a/include/corosync/cfg.h
>> +++ b/include/corosync/cfg.h
>> @@ -40,48 +40,6 @@
>>
>>  typedef uint64_t corosync_cfg_handle_t;
>>
>> -typedef enum {
>> -     COROSYNC_CFG_ADMINISTRATIVETARGET_SERVICEUNIT = 0,
>> -     COROSYNC_CFG_ADMINISTRATIVETARGET_SERVICEGROUP = 1,
>> -     COROSYNC_CFG_ADMINISTRATIVETARGET_COMPONENTSERVICEINSTANCE = 2,
>> -     COROSYNC_CFG_ADMINISTRATIVETARGET_NODE = 3
>> -} corosync_cfg_administrative_target_t;
>> -
>> -typedef enum {
>> -     COROSYNC_CFG_ADMINISTRATIVESTATE_UNLOCKED = 0,
>> -     COROSYNC_CFG_ADMINISTRATIVESTATE_LOCKED = 1,
>> -     COROSYNC_CFG_ADMINISTRATIVESTATE_STOPPING = 2
>> -} corosync_cfg_administrative_state_t;
>> -
>> -typedef enum {
>> -     COROSYNC_CFG_OPERATIONALSTATE_ENABLED = 1,
>> -     COROSYNC_CFG_OPERATIONALSTATE_DISABLED = 2
>> -} corosync_cfg_operational_state_t;
>> -
>> -typedef enum {
>> -     COROSYNC_CFG_READINESSSTATE_OUTOFSERVICE = 1,
>> -     COROSYNC_CFG_READINESSSTATE_INSERVICE = 2,
>> -     COROSYNC_CFG_READINESSSTATE_STOPPING = 3
>> -} corosync_cfg_readiness_state_t;
>> -
>> -typedef enum {
>> -     COROSYNC_CFG_PRESENCESTATE_UNINSTANTIATED = 1,
>> -     COROSYNC_CFG_PRESENCESTATE_INSTANTIATING = 2,
>> -     COROSYNC_CFG_PRESENCESTATE_INSTANTIATED = 3,
>> -     COROSYNC_CFG_PRESENCESTATE_TERMINATING = 4,
>> -     COROSYNC_CFG_PRESENCESTATE_RESTARTING = 5,
>> -     COROSYNC_CFG_PRESENCESTATE_INSTANTIATION_FAILED = 6,
>> -     COROSYNC_CFG_PRESENCESTATE_TERMINATION_FAILED = 7
>> -} corosync_cfg_presence_state_t;
>> -
>> -typedef enum {
>> -     COROSYNC_CFG_STATETYPE_OPERATIONAL = 0,
>> -     COROSYNC_CFG_STATETYPE_ADMINISTRATIVE = 1,
>> -     COROSYNC_CFG_STATETYPE_READINESS = 2,
>> -     COROSYNC_CFG_STATETYPE_HA = 3,
>> -     COROSYNC_CFG_STATETYPE_PRESENCE = 4
>> -} corosync_cfg_state_type_t;
>> -
>>  /**
>>   * Shutdown types.
>>   */
>> @@ -107,27 +65,11 @@ typedef enum {
>>       COROSYNC_CFG_SHUTDOWN_FLAG_YES = 1,
>>  } corosync_cfg_shutdown_reply_flags_t;
>>
>> -typedef struct {
>> -     cs_name_t name;
>> -     corosync_cfg_state_type_t state_type;
>> -     corosync_cfg_administrative_state_t administrative_state;
>> -} corosync_cfg_state_notification_t;
>> -
>> -typedef struct {
>> -        uint32_t number_of_items;
>> -        corosync_cfg_state_notification_t *notification;
>> -} corosync_cfg_state_notification_buffer_t;
>> -
>> -typedef void (*corosync_cfg_state_track_callback_t) (
>> -     corosync_cfg_state_notification_buffer_t *notification_buffer,
>> -     cs_error_t error);
>> -
>>  typedef void (*corosync_cfg_shutdown_callback_t) (
>>       corosync_cfg_handle_t cfg_handle,
>>       corosync_cfg_shutdown_flags_t flags);
>>
>>  typedef struct {
>> -     corosync_cfg_state_track_callback_t corosync_cfg_state_track_callback;
>>       corosync_cfg_shutdown_callback_t corosync_cfg_shutdown_callback;
>>  } corosync_cfg_callbacks_t;
>>
>> @@ -186,18 +128,6 @@ corosync_cfg_ring_reenable (
>>       corosync_cfg_handle_t cfg_handle);
>>
>>  cs_error_t
>> -corosync_cfg_service_load (
>> -     corosync_cfg_handle_t cfg_handle,
>> -     const char *service_name,
>> -     unsigned int service_ver);
>> -
>> -cs_error_t
>> -corosync_cfg_service_unload (
>> -     corosync_cfg_handle_t cfg_handle,
>> -     const char *service_name,
>> -     unsigned int service_ver);
>> -
>> -cs_error_t
>>  corosync_cfg_kill_node (
>>       corosync_cfg_handle_t cfg_handle,
>>       unsigned int nodeid,
>> @@ -215,17 +145,6 @@ corosync_cfg_replyto_shutdown (
>>       corosync_cfg_shutdown_reply_flags_t flags);
>>
>>  cs_error_t
>> -corosync_cfg_state_track (
>> -        corosync_cfg_handle_t cfg_handle,
>> -        uint8_t track_flags,
>> -        const corosync_cfg_state_notification_t *notification_buffer);
>> -
>> -cs_error_t
>> -corosync_cfg_state_track_stop (
>> -        corosync_cfg_handle_t cfg_handle);
>> -
>> -
>> -cs_error_t
>>  corosync_cfg_get_node_addrs (
>>       corosync_cfg_handle_t cfg_handle,
>>       int nodeid,
>> diff --git a/include/corosync/ipc_cfg.h b/include/corosync/ipc_cfg.h
>> index 43859cc..882ea7a 100644
>> --- a/include/corosync/ipc_cfg.h
>> +++ b/include/corosync/ipc_cfg.h
>> @@ -42,18 +42,12 @@
>>  enum req_lib_cfg_types {
>>       MESSAGE_REQ_CFG_RINGSTATUSGET = 0,
>>       MESSAGE_REQ_CFG_RINGREENABLE = 1,
>> -        MESSAGE_REQ_CFG_STATETRACKSTART = 2,
>> -        MESSAGE_REQ_CFG_STATETRACKSTOP = 3,
>> -        MESSAGE_REQ_CFG_ADMINISTRATIVESTATESET = 4,
>> -        MESSAGE_REQ_CFG_ADMINISTRATIVESTATEGET = 5,
>> -        MESSAGE_REQ_CFG_SERVICELOAD = 6,
>> -        MESSAGE_REQ_CFG_SERVICEUNLOAD = 7,
>> -     MESSAGE_REQ_CFG_KILLNODE = 8,
>> -     MESSAGE_REQ_CFG_TRYSHUTDOWN = 9,
>> -     MESSAGE_REQ_CFG_REPLYTOSHUTDOWN = 10,
>> -     MESSAGE_REQ_CFG_GET_NODE_ADDRS = 11,
>> -     MESSAGE_REQ_CFG_LOCAL_GET = 12,
>> -     MESSAGE_REQ_CFG_CRYPTO_SET = 13
>> +     MESSAGE_REQ_CFG_KILLNODE = 2,
>> +     MESSAGE_REQ_CFG_TRYSHUTDOWN = 3,
>> +     MESSAGE_REQ_CFG_REPLYTOSHUTDOWN = 4,
>> +     MESSAGE_REQ_CFG_GET_NODE_ADDRS = 5,
>> +     MESSAGE_REQ_CFG_LOCAL_GET = 6,
>> +     MESSAGE_REQ_CFG_CRYPTO_SET = 7
>>  };
>>
>>  enum res_lib_cfg_types {
>> @@ -74,46 +68,6 @@ enum res_lib_cfg_types {
>>       MESSAGE_RES_CFG_CRYPTO_SET = 14,
>>  };
>>
>> -struct req_lib_cfg_statetrack {
>> -     struct qb_ipc_request_header header;
>> -     uint8_t track_flags;
>> -     corosync_cfg_state_notification_t *notification_buffer_address;
>> -};
>> -
>> -struct res_lib_cfg_statetrack {
>> -     struct qb_ipc_response_header header;
>> -};
>> -
>> -struct req_lib_cfg_statetrackstop {
>> -     struct qb_ipc_request_header header;
>> -};
>> -
>> -struct res_lib_cfg_statetrackstop {
>> -     struct qb_ipc_response_header header;
>> -};
>> -
>> -struct req_lib_cfg_administrativestateset {
>> -     struct qb_ipc_request_header header;
>> -     cs_name_t comp_name;
>> -     corosync_cfg_administrative_target_t administrative_target;
>> -     corosync_cfg_administrative_state_t administrative_state;
>> -};
>> -
>> -struct res_lib_cfg_administrativestateset {
>> -     struct qb_ipc_response_header header;
>> -};
>> -
>> -struct req_lib_cfg_administrativestateget {
>> -     struct qb_ipc_request_header header;
>> -     cs_name_t comp_name;
>> -     corosync_cfg_administrative_target_t administrative_target;
>> -     corosync_cfg_administrative_state_t administrative_state;
>> -};
>> -
>> -struct res_lib_cfg_administrativestateget {
>> -     struct qb_ipc_response_header header __attribute__((aligned(8)));
>> -};
>> -
>>  struct req_lib_cfg_ringstatusget {
>>       struct qb_ipc_request_header header __attribute__((aligned(8)));
>>  };
>> @@ -133,26 +87,6 @@ struct res_lib_cfg_ringreenable {
>>       struct qb_ipc_response_header header __attribute__((aligned(8)));
>>  };
>>
>> -struct req_lib_cfg_serviceload {
>> -     struct qb_ipc_response_header header __attribute__((aligned(8)));
>> -     char service_name[256] __attribute__((aligned(8)));
>> -     unsigned int service_ver;
>> -};
>> -
>> -struct res_lib_cfg_serviceload {
>> -     struct qb_ipc_response_header header __attribute__((aligned(8)));
>> -};
>> -
>> -struct req_lib_cfg_serviceunload {
>> -     struct qb_ipc_response_header header __attribute__((aligned(8)));
>> -     char service_name[256] __attribute__((aligned(8)));
>> -     unsigned int service_ver;
>> -};
>> -
>> -struct res_lib_cfg_serviceunload {
>> -     struct qb_ipc_response_header header __attribute__((aligned(8)));
>> -};
>> -
>>  struct req_lib_cfg_killnode {
>>       struct qb_ipc_request_header header __attribute__((aligned(8)));
>>       unsigned int nodeid __attribute__((aligned(8)));
>> diff --git a/lib/cfg.c b/lib/cfg.c
>> index 7728b74..aeefc26 100644
>> --- a/lib/cfg.c
>> +++ b/lib/cfg.c
>> @@ -381,153 +381,6 @@ corosync_cfg_ring_reenable (
>>  }
>>
>>  cs_error_t
>> -corosync_cfg_service_load (
>> -     corosync_cfg_handle_t cfg_handle,
>> -     const char *service_name,
>> -     unsigned int service_ver)
>> -{
>> -     struct cfg_inst *cfg_inst;
>> -     struct req_lib_cfg_serviceload req_lib_cfg_serviceload;
>> -     struct res_lib_cfg_serviceload res_lib_cfg_serviceload;
>> -     cs_error_t error;
>> -     struct iovec iov;
>> -
>> -     error = hdb_error_to_cs(hdb_handle_get (&cfg_hdb, cfg_handle, (void *)&cfg_inst));
>> -     if (error != CS_OK) {
>> -             return (error);
>> -     }
>> -
>> -     req_lib_cfg_serviceload.header.size = sizeof (struct req_lib_cfg_serviceload);
>> -     req_lib_cfg_serviceload.header.id = MESSAGE_REQ_CFG_SERVICELOAD;
>> -     memset (&req_lib_cfg_serviceload.service_name, 0,
>> -             sizeof (req_lib_cfg_serviceload.service_name));
>> -     strncpy (req_lib_cfg_serviceload.service_name, service_name,
>> -             sizeof (req_lib_cfg_serviceload.service_name) - 1);
>> -     req_lib_cfg_serviceload.service_ver = service_ver;
>> -
>> -     iov.iov_base = (void *)&req_lib_cfg_serviceload;
>> -     iov.iov_len = sizeof (req_lib_cfg_serviceload);
>> -
>> -     error = qb_to_cs_error (qb_ipcc_sendv_recv (cfg_inst->c,
>> -             &iov,
>> -             1,
>> -             &res_lib_cfg_serviceload,
>> -             sizeof (struct res_lib_cfg_serviceload), CS_IPC_TIMEOUT_MS));
>> -
>> -     (void)hdb_handle_put (&cfg_hdb, cfg_handle);
>> -
>> -     return (error);
>> -}
>> -
>> -cs_error_t
>> -corosync_cfg_service_unload (
>> -     corosync_cfg_handle_t cfg_handle,
>> -     const char *service_name,
>> -     unsigned int service_ver)
>> -{
>> -     struct cfg_inst *cfg_inst;
>> -     struct req_lib_cfg_serviceunload req_lib_cfg_serviceunload;
>> -     struct res_lib_cfg_serviceunload res_lib_cfg_serviceunload;
>> -     cs_error_t error;
>> -     struct iovec iov;
>> -
>> -     error = hdb_error_to_cs(hdb_handle_get (&cfg_hdb, cfg_handle, (void *)&cfg_inst));
>> -     if (error != CS_OK) {
>> -             return (error);
>> -     }
>> -
>> -     req_lib_cfg_serviceunload.header.size = sizeof (struct req_lib_cfg_serviceunload);
>> -     req_lib_cfg_serviceunload.header.id = MESSAGE_REQ_CFG_SERVICEUNLOAD;
>> -     memset (&req_lib_cfg_serviceunload.service_name, 0,
>> -             sizeof (req_lib_cfg_serviceunload.service_name));
>> -     strncpy (req_lib_cfg_serviceunload.service_name, service_name,
>> -             sizeof (req_lib_cfg_serviceunload.service_name) - 1);
>> -     req_lib_cfg_serviceunload.service_ver = service_ver;
>> -
>> -     iov.iov_base = (void *)&req_lib_cfg_serviceunload;
>> -     iov.iov_len = sizeof (req_lib_cfg_serviceunload);
>> -
>> -     error = qb_to_cs_error (qb_ipcc_sendv_recv (cfg_inst->c,
>> -             &iov,
>> -             1,
>> -             &res_lib_cfg_serviceunload,
>> -             sizeof (struct res_lib_cfg_serviceunload), CS_IPC_TIMEOUT_MS));
>> -
>> -     (void)hdb_handle_put (&cfg_hdb, cfg_handle);
>> -
>> -     return (error);
>> -}
>> -cs_error_t
>> -corosync_cfg_state_track (
>> -     corosync_cfg_handle_t cfg_handle,
>> -     uint8_t track_flags,
>> -     const corosync_cfg_state_notification_t *notification_buffer)
>> -{
>> -     struct cfg_inst *cfg_inst;
>> -     struct req_lib_cfg_statetrack req_lib_cfg_statetrack;
>> -     struct res_lib_cfg_statetrack res_lib_cfg_statetrack;
>> -     cs_error_t error;
>> -     struct iovec iov;
>> -
>> -     req_lib_cfg_statetrack.header.size = sizeof (struct req_lib_cfg_statetrack);
>> -     req_lib_cfg_statetrack.header.id = MESSAGE_REQ_CFG_STATETRACKSTART;
>> -     req_lib_cfg_statetrack.track_flags = track_flags;
>> -     req_lib_cfg_statetrack.notification_buffer_address = (corosync_cfg_state_notification_t *)notification_buffer;
>> -
>> -     error = hdb_error_to_cs(hdb_handle_get (&cfg_hdb, cfg_handle,
>> -             (void *)&cfg_inst));
>> -     if (error != CS_OK) {
>> -             return (error);
>> -     }
>> -
>> -     iov.iov_base = (void *)&req_lib_cfg_statetrack,
>> -     iov.iov_len = sizeof (struct req_lib_cfg_statetrack),
>> -
>> -     error = qb_to_cs_error (qb_ipcc_sendv_recv (cfg_inst->c,
>> -             &iov,
>> -             1,
>> -             &res_lib_cfg_statetrack,
>> -             sizeof (struct res_lib_cfg_statetrack), CS_IPC_TIMEOUT_MS));
>> -
>> -     (void)hdb_handle_put (&cfg_hdb, cfg_handle);
>> -
>> -        return (error == CS_OK ? res_lib_cfg_statetrack.header.error : error);
>> -}
>> -
>> -cs_error_t
>> -corosync_cfg_state_track_stop (
>> -     corosync_cfg_handle_t cfg_handle)
>> -{
>> -     struct cfg_inst *cfg_inst;
>> -     struct req_lib_cfg_statetrackstop req_lib_cfg_statetrackstop;
>> -     struct res_lib_cfg_statetrackstop res_lib_cfg_statetrackstop;
>> -     cs_error_t error;
>> -     struct iovec iov;
>> -
>> -     error = hdb_error_to_cs (hdb_handle_get (&cfg_hdb, cfg_handle,
>> -             (void *)&cfg_inst));
>> -     if (error != CS_OK) {
>> -             return (error);
>> -     }
>> -
>> -     req_lib_cfg_statetrackstop.header.size = sizeof (struct req_lib_cfg_statetrackstop);
>> -     req_lib_cfg_statetrackstop.header.id = MESSAGE_REQ_CFG_STATETRACKSTOP;
>> -
>> -     iov.iov_base = (void *)&req_lib_cfg_statetrackstop,
>> -     iov.iov_len = sizeof (struct req_lib_cfg_statetrackstop),
>> -
>> -     error = qb_to_cs_error (qb_ipcc_sendv_recv (cfg_inst->c,
>> -             &iov,
>> -             1,
>> -             &res_lib_cfg_statetrackstop,
>> -             sizeof (struct res_lib_cfg_statetrackstop), CS_IPC_TIMEOUT_MS));
>> -
>> -     (void)hdb_handle_put (&cfg_hdb, cfg_handle);
>> -
>> -        return (error == CS_OK ? res_lib_cfg_statetrackstop.header.error : error);
>> -}
>> -
>> -cs_error_t
>>  corosync_cfg_kill_node (
>>       corosync_cfg_handle_t cfg_handle,
>>       unsigned int nodeid,
>> diff --git a/lib/libcfg.verso b/lib/libcfg.verso
>> index 1454f6e..0062ac9 100644
>> --- a/lib/libcfg.verso
>> +++ b/lib/libcfg.verso
>> @@ -1 +1 @@
>> -4.0.1
>> +5.0.0
>> diff --git a/tools/corosync-cfgtool.c b/tools/corosync-cfgtool.c
>> index bb6f1ed..33918a1 100644
>> --- a/tools/corosync-cfgtool.c
>> +++ b/tools/corosync-cfgtool.c
>> @@ -123,42 +123,6 @@ static void ringreenable_do (void)
>>       (void)corosync_cfg_finalize (handle);
>>  }
>>
>> -static void service_load_do (const char *service, unsigned int version)
>> -{
>> -     cs_error_t result;
>> -     corosync_cfg_handle_t handle;
>> -
>> -     printf ("Loading service '%s' version '%d'\n", service, version);
>> -     result = corosync_cfg_initialize (&handle, NULL);
>> -     if (result != CS_OK) {
>> -             printf ("Could not initialize corosync configuration API error %d\n", result);
>> -             exit (1);
>> -     }
>> -     result = corosync_cfg_service_load (handle, service, version);
>> -     if (result != CS_OK) {
>> -             printf ("Could not load service (error = %d)\n", result);
>> -     }
>> -     (void)corosync_cfg_finalize (handle);
>> -}
>> -
>> -static void service_unload_do (const char *service, unsigned int version)
>> -{
>> -     cs_error_t result;
>> -     corosync_cfg_handle_t handle;
>> -
>> -     printf ("Unloading service '%s' version '%d'\n", service, version);
>> -     result = corosync_cfg_initialize (&handle, NULL);
>> -     if (result != CS_OK) {
>> -             printf ("Could not initialize corosync configuration API error %d\n", result);
>> -             exit (1);
>> -     }
>> -     result = corosync_cfg_service_unload (handle, service, version);
>> -     if (result != CS_OK) {
>> -             printf ("Could not unload service (error = %d)\n", result);
>> -     }
>> -     (void)corosync_cfg_finalize (handle);
>> -}
>> -
>>  static void shutdown_do(void)
>>  {
>>       cs_error_t result;
>> @@ -265,39 +229,22 @@ static void killnode_do(unsigned int nodeid)
>>
>>  static void usage_do (void)
>>  {
>> -     printf ("corosync-cfgtool [[-i <interface ip>] -s] [-r] [-l] [-u] [-H] [service_name] [-v] [version] [-k] [nodeid] [-a] [nodeid]\n\n");
>> +     printf ("corosync-cfgtool [-i <interface ip>] -s] [-r] [-H] [service_name] [-k] [nodeid] [-a] [nodeid]\n\n");
>>       printf ("A tool for displaying and configuring active parameters within corosync.\n");
>>       printf ("options:\n");
>>       printf ("\t-s\tDisplays the status of the current rings on this node.\n");
>>       printf ("\t-r\tReset redundant ring state cluster wide after a fault to\n");
>>       printf ("\t\tre-enable redundant ring operation.\n");
>> -     printf ("\t-l\tLoad a service identified by name.\n");
>> -     printf ("\t-u\tUnload a service identified by name.\n");
>>       printf ("\t-a\tDisplay the IP address(es) of a node\n");
>>       printf ("\t-c\tSet the cryptography mode of cluster communications\n");
>>       printf ("\t-k\tKill a node identified by node id.\n");
>>       printf ("\t-H\tShutdown corosync cleanly on this node.\n");
>>  }
>>
>> -static char *
>> -xstrdup (char const *s)
>> -{
>> -     char *p = strdup (s);
>> -     if (p)
>> -             return (char *) p;
>> -
>> -     printf ("exhausted virtual memory\n");
>> -     exit (1);
>> -}
>> -
>>  int main (int argc, char *argv[]) {
>> -     const char *options = "i:srl:u:v:k:a:c:hH";
>> +     const char *options = "i:srk:a:c:hH";
>>       int opt;
>> -     int service_load = 0;
>>       unsigned int nodeid;
>> -     int service_unload = 0;
>> -     char *service = NULL;
>> -     unsigned int version = 0;
>>       char interface_name[128] = "";
>>       int rc=0;
>>
>> @@ -315,14 +262,6 @@ int main (int argc, char *argv[]) {
>>               case 'r':
>>                       ringreenable_do ();
>>                       break;
>> -             case 'l':
>> -                     service_load = 1;
>> -                     service = xstrdup (optarg);
>> -                     break;
>> -             case 'u':
>> -                     service_unload = 1;
>> -                     service = xstrdup (optarg);
>> -                     break;
>>               case 'k':
>>                       nodeid = atoi (optarg);
>>                       killnode_do(nodeid);
>> @@ -336,21 +275,11 @@ int main (int argc, char *argv[]) {
>>               case 'c':
>>                       crypto_do( atoi(optarg) );
>>                       break;
>> -             case 'v':
>> -                     version = atoi (optarg);
>> -                     break;
>>               case 'h':
>>                       usage_do();
>>                       break;
>>               }
>>       }
>>
>> -     if (service_load) {
>> -             service_load_do (service, version);
>> -     } else
>> -     if (service_unload) {
>> -             service_unload_do (service, version);
>> -     }
>> -
>>       return (rc);
>>  }
>> diff --git a/tools/corosync-quorumtool.c b/tools/corosync-quorumtool.c
>> index 0f37d3e..0a21a3c 100644
>> --- a/tools/corosync-quorumtool.c
>> +++ b/tools/corosync-quorumtool.c
>> @@ -114,7 +114,6 @@ static votequorum_callbacks_t v_callbacks = {
>>   */
>>  static corosync_cfg_handle_t c_handle;
>>  static corosync_cfg_callbacks_t c_callbacks = {
>> -     .corosync_cfg_state_track_callback = NULL,
>>       .corosync_cfg_shutdown_callback = NULL
>>  };
>>
>
> _______________________________________________
> discuss mailing list
> discuss@xxxxxxxxxxxx
> http://lists.corosync.org/mailman/listinfo/discuss
_______________________________________________
discuss mailing list
discuss@xxxxxxxxxxxx
http://lists.corosync.org/mailman/listinfo/discuss



[Index of Archives]     [Linux Clusters]     [Corosync Project]     [Linux USB Devel]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Linux Kernel]     [Linux SCSI]     [X.Org]

  Powered by Linux