ctdb-client: Add client code for control CHECK_PID_SRVID
authorAmitay Isaacs <amitay@gmail.com>
Thu, 21 Sep 2017 05:52:14 +0000 (15:52 +1000)
committerKarolin Seeger <kseeger@samba.org>
Wed, 25 Oct 2017 06:43:03 +0000 (08:43 +0200)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13042

Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit c6a35200f45b04e2e6f867743213f2d95eabef4f)

ctdb/client/client_control_sync.c
ctdb/client/client_sync.h

index 43a941d79dba302832e159424a8f75ba24f350f2..6b64c75458cc2078b315088035f3d33c5bc4f53e 100644 (file)
@@ -2758,3 +2758,32 @@ int ctdb_ctrl_db_attach_replicated(TALLOC_CTX *mem_ctx,
 
        return 0;
 }
+
+int ctdb_ctrl_check_pid_srvid(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
+                             struct ctdb_client_context *client,
+                             int destnode, struct timeval timeout,
+                             struct ctdb_pid_srvid *pid_srvid, int *status)
+{
+       struct ctdb_req_control request;
+       struct ctdb_reply_control *reply;
+       int ret;
+
+       ctdb_req_control_check_pid_srvid(&request, pid_srvid);
+       ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout,
+                                 &request, &reply);
+       if (ret != 0) {
+               DEBUG(DEBUG_ERR,
+                     ("Control CHECK_PID_SRVID failed to node %u, ret=%d\n",
+                      destnode, ret));
+               return ret;
+       }
+
+       ret = ctdb_reply_control_check_pid_srvid(reply, status);
+       if (ret != 0) {
+               DEBUG(DEBUG_ERR,
+                     ("Control CHECK_PID_SRVID failed, ret=%d\n", ret));
+               return ret;
+       }
+
+       return 0;
+}
index a4b5c49ab0b717946c6a1494ce05b9b0dd802030..c0a7b2589b6a0b0aac19dbf76b4259df4dcd06bf 100644 (file)
@@ -494,6 +494,11 @@ int ctdb_ctrl_db_attach_replicated(TALLOC_CTX *mem_ctx,
                                   int destnode, struct timeval timeout,
                                   const char *db_name, uint32_t *db_id);
 
+int ctdb_ctrl_check_pid_srvid(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
+                             struct ctdb_client_context *client,
+                             int destnode, struct timeval timeout,
+                             struct ctdb_pid_srvid *pid_srvid, int *status);
+
 /* from client/client_message_sync.c */
 
 int ctdb_message_recd_update_ip(TALLOC_CTX *mem_ctx, struct tevent_context *ev,