The branch, master has been updated
       via  5709dec vfs_commit: set the fd on open before calling SMB_VFS_FSTAT
       via  2bc55c5 lib: Make messaging_send_iov_from return 0/errno
       via  678ad95 lib: Make messaging_ctdbd_init return 0/errno
       via  7ae6943 lib: Use poll_intr_one_fd in ctdb_read_packet
       via  a599b96 lib: Remove messaging_tevent_context() dependency from 
ctdbd_conn.c
       via  6cc1e66 lib: Make ctdbd_probe return 0/errno
       via  a6ddb99 lib: Make ctdb_unwatch return 0/errno
       via  b02fd99 lib: Make ctdb_watch_us return 0/errno
       via  2d00fcd lib: Make ctdbd_control_local return 0/errno
       via  a039463 lib: Make ctdbd_register_ips return 0/errno
       via  4caf48e lib: Make ctdbd_traverse return 0/errno
       via  b78c282 lib: Make ctdbd_parse return 0/errno
       via  4636912 lib: Make ctdbd_migrate return 0/errno
       via  210e1fb lib: Make ctdbd_db_attach return 0/errno
       via  fdfc729 lib: Make ctdbd_messaging_send_iov return 0/errno
       via  546d8b4 lib: Make ctdbd_messaging_connection return 0/errno
       via  9da6cce lib: Make ctdbd_init_connection return 0/errno
       via  03fd13f lib: Make ctdbd_register_msg_ctx return 0/errno
       via  f3c88bd lib: Make get_cluster_vnn return 0/errno
       via  84ad1a1 lib: Make register_with_ctdbd return 0/errno
       via  7b8853f lib: Rename ctdbd_control_unix to ctdbd_control
       via  fd6293c lib: Remove ctdbd_control
       via  108b627 lib: Use ctdbd_control_unix in ctdbd_register_ips
       via  dae02e9 lib: Use ctdbd_control_unix in ctdbd_db_attach
       via  a448945 lib: Use ctdbd_control_unix in ctdbd_db_attach
       via  24d0add lib: Use ctdbd_control_unix in ctdbd_dbpath
       via  ab79b95 lib: Use ctdbd_control_unix in ctdbd_working
       via  4d43101 lib: Rename a variable
       via  a8c035f lib: Use ctdbd_control_unix in get_cluster_vnn
       via  a5438e0 lib: Use ctdbd_control_unix in register_with_ctdbd
       via  858af0b lib: Add ctdbd_control_unix
       via  7b9016a lib: Fix error talloc leaks in ctdb_read_packet()
      from  0101748 ctdb-recoverd: Always check for recmaster before doing 
recovery

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 5709dece4860f205e31309e31ec4e3e938d9f6a5
Author: Uri Simchoni <[email protected]>
Date:   Wed Oct 7 22:44:11 2015 +0300

    vfs_commit: set the fd on open before calling SMB_VFS_FSTAT
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=11547
    
    Signed-off-by: Uri Simchoni <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>
    
    Autobuild-User(master): Jeremy Allison <[email protected]>
    Autobuild-Date(master): Thu Oct  8 02:56:41 CEST 2015 on sn-devel-104

commit 2bc55c5321a44e439a2e00309e979c0188c3fc75
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make messaging_send_iov_from return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 678ad954e8734fce52d283e95c0b7c5c9d0d1318
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make messaging_ctdbd_init return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 7ae694372ca0037f38b82b5069a54edaeeedbd90
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 22:33:12 2015 -0700

    lib: Use poll_intr_one_fd in ctdb_read_packet
    
    This is an actual bug fix if someone sets "ctdb timeout" to something != 0
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a599b96f2928e5c5ec801a8e26b08ef0c082831a
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 22:30:35 2015 -0700

    lib: Remove messaging_tevent_context() dependency from ctdbd_conn.c
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 6cc1e660eeb730b30cbd7bc323648444144db904
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_probe return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a6ddb991331ae07e18b9d8d12cabd25f2d82965a
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdb_unwatch return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit b02fd997d26d20c207052707cda96581d6a97edb
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdb_watch_us return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 2d00fcda69152688427e59d63425f0969a95f971
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_control_local return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a039463d823ad4e7fbff5a3f8e4416c184e40f36
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_register_ips return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 4caf48ecb35ca6f7b07f8b67ea94284445911e49
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_traverse return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit b78c282a91779fe53caaefca2c5a610d77694891
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_parse return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 4636912985e47f0562524b33ba457e5e4d33a0b9
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_migrate return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 210e1fb265e4c1dde6a67aecfb72951703df3cc0
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_db_attach return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit fdfc7299a67b5c7d0eac2d084a6e9ac490f083f5
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_messaging_send_iov return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 546d8b4129cb782c38337ed37a80420c3e846306
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_messaging_connection return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 9da6cce5c064338ce63f394d9c3a64c449f41b66
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_init_connection return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 03fd13f01a6f5b4fbb3f9ab846d3326e81fb561b
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_register_msg_ctx return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit f3c88bd6c2190cbb32501d2721d04bfc81ef4d22
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make get_cluster_vnn return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 84ad1a13721da44cf55650e04780a64cefe5f8e0
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make register_with_ctdbd return 0/errno
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 7b8853fc42b929e9f14bf249998a6111c10aad66
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:31:52 2015 -0700

    lib: Rename ctdbd_control_unix to ctdbd_control
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit fd6293c987f1d8c97be4bddd08301bc78a754a60
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:29:56 2015 -0700

    lib: Remove ctdbd_control
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 108b6270f7bf702b13344386b8838fd645c13929
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_register_ips
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit dae02e9adb4099a37501d9f234a351f34aadaa93
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_db_attach
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a44894506e904a6f0076eed54969bd5cfcc55b7a
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_db_attach
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 24d0add465e90183a244272fe8220c85e2f9409b
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_dbpath
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit ab79b952de8b0887a3e19e0f5e467e40ae4e793f
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:06:59 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_working
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 4d43101500fb9339fc49e3f95bc5e1a23eff1b42
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:05:15 2015 -0700

    lib: Rename a variable
    
    We'll have "int ret" in the next commit
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a8c035fb6dfd88abd5eebb4d79c9e927b51b5a0d
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:00:32 2015 -0700

    lib: Use ctdbd_control_unix in get_cluster_vnn
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit a5438e09af4148abb71d5de70f7e220f0cfbbbdf
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 20:00:32 2015 -0700

    lib: Use ctdbd_control_unix in register_with_ctdbd
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 858af0b4473d02e24be76e4baf51dec03ed99045
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 19:54:31 2015 -0700

    lib: Add ctdbd_control_unix
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

commit 7b9016ac6723438ed1930d144eb109e3eb88677a
Author: Volker Lendecke <[email protected]>
Date:   Fri Oct 2 19:51:01 2015 -0700

    lib: Fix error talloc leaks in ctdb_read_packet()
    
    Signed-off-by: Volker Lendecke <[email protected]>
    Reviewed-by: Jeremy Allison <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 source3/include/ctdbd_conn.h     |  94 ++++-----
 source3/include/messages.h       |  16 +-
 source3/lib/ctdb_dummy.c         |  50 ++---
 source3/lib/ctdbd_conn.c         | 402 +++++++++++++++++++--------------------
 source3/lib/dbwrap/dbwrap_ctdb.c |  94 ++++-----
 source3/lib/messages.c           |  54 +++---
 source3/lib/messages_ctdbd.c     |  62 +++---
 source3/lib/util_cluster.c       |   8 +-
 source3/modules/vfs_commit.c     |  11 +-
 source3/smbd/notifyd/notifyd.c   |  25 ++-
 source3/smbd/process.c           |   7 +-
 11 files changed, 416 insertions(+), 407 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/ctdbd_conn.h b/source3/include/ctdbd_conn.h
index 6c46cdb..9342ddc 100644
--- a/source3/include/ctdbd_conn.h
+++ b/source3/include/ctdbd_conn.h
@@ -26,21 +26,22 @@ struct ctdbd_connection;
 struct messaging_context;
 struct messaging_rec;
 
-NTSTATUS ctdbd_messaging_connection(TALLOC_CTX *mem_ctx,
-                                   const char *sockname, int timeout,
-                                   struct ctdbd_connection **pconn);
+int ctdbd_messaging_connection(TALLOC_CTX *mem_ctx,
+                              const char *sockname, int timeout,
+                              struct ctdbd_connection **pconn);
 
 uint32_t ctdbd_vnn(const struct ctdbd_connection *conn);
 
-NTSTATUS ctdbd_register_msg_ctx(struct ctdbd_connection *conn,
-                               struct messaging_context *msg_ctx);
+int ctdbd_register_msg_ctx(struct ctdbd_connection *conn,
+                          struct messaging_context *msg_ctx,
+                          struct tevent_context *ev);
 struct messaging_context *ctdb_conn_msg_ctx(struct ctdbd_connection *conn);
 
 int ctdbd_conn_get_fd(struct ctdbd_connection *conn);
 
-NTSTATUS ctdbd_messaging_send_iov(struct ctdbd_connection *conn,
-                                 uint32_t dst_vnn, uint64_t dst_srvid,
-                                 const struct iovec *iov, int iovlen);
+int ctdbd_messaging_send_iov(struct ctdbd_connection *conn,
+                            uint32_t dst_vnn, uint64_t dst_srvid,
+                            const struct iovec *iov, int iovlen);
 
 bool ctdbd_process_exists(struct ctdbd_connection *conn, uint32_t vnn,
                          pid_t pid);
@@ -51,47 +52,46 @@ bool ctdb_processes_exist(struct ctdbd_connection *conn,
 char *ctdbd_dbpath(struct ctdbd_connection *conn,
                   TALLOC_CTX *mem_ctx, uint32_t db_id);
 
-NTSTATUS ctdbd_db_attach(struct ctdbd_connection *conn, const char *name,
-                        uint32_t *db_id, int tdb_flags);
-
-NTSTATUS ctdbd_migrate(struct ctdbd_connection *conn, uint32_t db_id,
-                      TDB_DATA key);
-
-NTSTATUS ctdbd_parse(struct ctdbd_connection *conn, uint32_t db_id,
-                    TDB_DATA key, bool local_copy,
-                    void (*parser)(TDB_DATA key, TDB_DATA data,
-                                   void *private_data),
-                    void *private_data);
-
-NTSTATUS ctdbd_traverse(struct ctdbd_connection *master, uint32_t db_id,
-                       void (*fn)(TDB_DATA key, TDB_DATA data,
-                                  void *private_data),
-                       void *private_data);
-
-NTSTATUS ctdbd_register_ips(struct ctdbd_connection *conn,
-                           const struct sockaddr_storage *server,
-                           const struct sockaddr_storage *client,
-                           int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
-                                     uint64_t dst_srvid,
-                                     const uint8_t *msg, size_t msglen,
-                                     void *private_data),
-                           void *private_data);
-
-NTSTATUS ctdbd_control_local(struct ctdbd_connection *conn, uint32_t opcode,
-                            uint64_t srvid, uint32_t flags, TDB_DATA data,
-                            TALLOC_CTX *mem_ctx, TDB_DATA *outdata,
-                            int *cstatus);
-NTSTATUS ctdb_watch_us(struct ctdbd_connection *conn);
-NTSTATUS ctdb_unwatch(struct ctdbd_connection *conn);
+int ctdbd_db_attach(struct ctdbd_connection *conn, const char *name,
+                   uint32_t *db_id, int tdb_flags);
+
+int ctdbd_migrate(struct ctdbd_connection *conn, uint32_t db_id, TDB_DATA key);
+
+int ctdbd_parse(struct ctdbd_connection *conn, uint32_t db_id,
+               TDB_DATA key, bool local_copy,
+               void (*parser)(TDB_DATA key, TDB_DATA data,
+                              void *private_data),
+               void *private_data);
+
+int ctdbd_traverse(struct ctdbd_connection *master, uint32_t db_id,
+                  void (*fn)(TDB_DATA key, TDB_DATA data,
+                             void *private_data),
+                  void *private_data);
+
+int ctdbd_register_ips(struct ctdbd_connection *conn,
+                      const struct sockaddr_storage *server,
+                      const struct sockaddr_storage *client,
+                      int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
+                                uint64_t dst_srvid,
+                                const uint8_t *msg, size_t msglen,
+                                void *private_data),
+                      void *private_data);
+
+int ctdbd_control_local(struct ctdbd_connection *conn, uint32_t opcode,
+                       uint64_t srvid, uint32_t flags, TDB_DATA data,
+                       TALLOC_CTX *mem_ctx, TDB_DATA *outdata,
+                       int *cstatus);
+int ctdb_watch_us(struct ctdbd_connection *conn);
+int ctdb_unwatch(struct ctdbd_connection *conn);
 
 struct ctdb_req_message;
 
-NTSTATUS register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
-                            int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
-                                      uint64_t dst_srvid,
-                                      const uint8_t *msg, size_t msglen,
-                                      void *private_data),
-                            void *private_data);
-NTSTATUS ctdbd_probe(const char *sockname, int timeout);
+int register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
+                       int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
+                                 uint64_t dst_srvid,
+                                 const uint8_t *msg, size_t msglen,
+                                 void *private_data),
+                       void *private_data);
+int ctdbd_probe(const char *sockname, int timeout);
 
 #endif /* _CTDBD_CONN_H */
diff --git a/source3/include/messages.h b/source3/include/messages.h
index c620f92..9a3ea25 100644
--- a/source3/include/messages.h
+++ b/source3/include/messages.h
@@ -74,9 +74,9 @@ struct messaging_backend {
        void *private_data;
 };
 
-NTSTATUS messaging_ctdbd_init(struct messaging_context *msg_ctx,
-                             TALLOC_CTX *mem_ctx,
-                             struct messaging_backend **presult);
+int messaging_ctdbd_init(struct messaging_context *msg_ctx,
+                        TALLOC_CTX *mem_ctx,
+                        struct messaging_backend **presult);
 struct ctdbd_connection *messaging_ctdbd_connection(void);
 
 bool message_send_all(struct messaging_context *msg_ctx,
@@ -123,11 +123,11 @@ NTSTATUS messaging_send(struct messaging_context *msg_ctx,
 NTSTATUS messaging_send_buf(struct messaging_context *msg_ctx,
                            struct server_id server, uint32_t msg_type,
                            const uint8_t *buf, size_t len);
-NTSTATUS messaging_send_iov_from(struct messaging_context *msg_ctx,
-                                struct server_id src, struct server_id dst,
-                                uint32_t msg_type,
-                                const struct iovec *iov, int iovlen,
-                                const int *fds, size_t num_fds);
+int messaging_send_iov_from(struct messaging_context *msg_ctx,
+                           struct server_id src, struct server_id dst,
+                           uint32_t msg_type,
+                           const struct iovec *iov, int iovlen,
+                           const int *fds, size_t num_fds);
 NTSTATUS messaging_send_iov(struct messaging_context *msg_ctx,
                            struct server_id server, uint32_t msg_type,
                            const struct iovec *iov, int iovlen,
diff --git a/source3/lib/ctdb_dummy.c b/source3/lib/ctdb_dummy.c
index d8658cf..5162242 100644
--- a/source3/lib/ctdb_dummy.c
+++ b/source3/lib/ctdb_dummy.c
@@ -24,38 +24,38 @@
 #include "lib/dbwrap/dbwrap_ctdb.h"
 #include "torture/proto.h"
 
-NTSTATUS ctdbd_probe(const char *sockname, int timeout)
+int ctdbd_probe(const char *sockname, int timeout)
 {
-       return NT_STATUS_NOT_IMPLEMENTED;
+       return ENOSYS;
 }
 
-NTSTATUS ctdbd_messaging_send_iov(struct ctdbd_connection *conn,
-                                 uint32_t dst_vnn, uint64_t dst_srvid,
-                                 const struct iovec *iov, int iovlen)
+int ctdbd_messaging_send_iov(struct ctdbd_connection *conn,
+                            uint32_t dst_vnn, uint64_t dst_srvid,
+                            const struct iovec *iov, int iovlen)
 {
-       return NT_STATUS_NOT_IMPLEMENTED;
+       return ENOSYS;
 }
 
-NTSTATUS register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
-                            int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
-                                      uint64_t dst_srvid,
-                                      const uint8_t *msg, size_t msglen,
-                                      void *private_data),
-                            void *private_data)
+int register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
+                       int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
+                                 uint64_t dst_srvid,
+                                 const uint8_t *msg, size_t msglen,
+                                 void *private_data),
+                       void *private_data)
 {
-       return NT_STATUS_NOT_IMPLEMENTED;
+       return ENOSYS;
 }
 
-NTSTATUS ctdbd_register_ips(struct ctdbd_connection *conn,
-                           const struct sockaddr_storage *_server,
-                           const struct sockaddr_storage *_client,
-                           int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
-                                     uint64_t dst_srvid,
-                                     const uint8_t *msg, size_t msglen,
-                                     void *private_data),
-                           void *private_data)
+int ctdbd_register_ips(struct ctdbd_connection *conn,
+                      const struct sockaddr_storage *_server,
+                      const struct sockaddr_storage *_client,
+                      int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
+                                uint64_t dst_srvid,
+                                const uint8_t *msg, size_t msglen,
+                                void *private_data),
+                      void *private_data)
 {
-       return NT_STATUS_NOT_IMPLEMENTED;
+       return ENOSYS;
 }
 
 bool ctdb_processes_exist(struct ctdbd_connection *conn,
@@ -81,11 +81,11 @@ struct db_context *db_open_ctdb(TALLOC_CTX *mem_ctx,
        return NULL;
 }
 
-NTSTATUS messaging_ctdbd_init(struct messaging_context *msg_ctx,
-                             TALLOC_CTX *mem_ctx,
+int messaging_ctdbd_init(struct messaging_context *msg_ctx,
+                        TALLOC_CTX *mem_ctx,
                              struct messaging_backend **presult)
 {
-       return NT_STATUS_NOT_IMPLEMENTED;
+       return ENOSYS;
 }
 
 struct ctdbd_connection *messaging_ctdbd_connection(void)
diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c
index c743356..9e598ac 100644
--- a/source3/lib/ctdbd_conn.c
+++ b/source3/lib/ctdbd_conn.c
@@ -63,11 +63,12 @@ static uint32_t ctdbd_next_reqid(struct ctdbd_connection 
*conn)
        return conn->reqid;
 }
 
-static NTSTATUS ctdbd_control(struct ctdbd_connection *conn,
-                             uint32_t vnn, uint32_t opcode,
-                             uint64_t srvid, uint32_t flags, TDB_DATA data,
-                             TALLOC_CTX *mem_ctx, TDB_DATA *outdata,
-                             int *cstatus);
+static int ctdbd_control(struct ctdbd_connection *conn,
+                        uint32_t vnn, uint32_t opcode,
+                        uint64_t srvid, uint32_t flags,
+                        TDB_DATA data,
+                        TALLOC_CTX *mem_ctx, TDB_DATA *outdata,
+                        int *cstatus);
 
 /*
  * exit on fatal communications errors with the ctdbd daemon
@@ -99,24 +100,23 @@ static void ctdb_packet_dump(struct ctdb_req_header *hdr)
 /*
  * Register a srvid with ctdbd
  */
-NTSTATUS register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
-                            int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
-                                      uint64_t dst_srvid,
-                                      const uint8_t *msg, size_t msglen,
-                                      void *private_data),
-                            void *private_data)
+int register_with_ctdbd(struct ctdbd_connection *conn, uint64_t srvid,
+                       int (*cb)(uint32_t src_vnn, uint32_t dst_vnn,
+                                 uint64_t dst_srvid,
+                                 const uint8_t *msg, size_t msglen,
+                                 void *private_data),
+                       void *private_data)
 {
 
-       NTSTATUS status;
-       int cstatus;
+       int ret, cstatus;
        size_t num_callbacks;
        struct ctdbd_srvid_cb *tmp;
 
-       status = ctdbd_control(conn, CTDB_CURRENT_NODE,
-                              CTDB_CONTROL_REGISTER_SRVID, srvid, 0,
-                              tdb_null, NULL, NULL, &cstatus);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
+       ret = ctdbd_control(conn, CTDB_CURRENT_NODE,
+                           CTDB_CONTROL_REGISTER_SRVID, srvid, 0,
+                           tdb_null, NULL, NULL, &cstatus);
+       if (ret != 0) {
+               return ret;
        }
 
        num_callbacks = talloc_array_length(conn->callbacks);
@@ -124,7 +124,7 @@ NTSTATUS register_with_ctdbd(struct ctdbd_connection *conn, 
uint64_t srvid,
        tmp = talloc_realloc(conn, conn->callbacks, struct ctdbd_srvid_cb,
                             num_callbacks + 1);
        if (tmp == NULL) {
-               return NT_STATUS_NO_MEMORY;
+               return ENOMEM;
        }
        conn->callbacks = tmp;
 
@@ -132,7 +132,7 @@ NTSTATUS register_with_ctdbd(struct ctdbd_connection *conn, 
uint64_t srvid,
                .srvid = srvid, .cb = cb, .private_data = private_data
        };
 
-       return NT_STATUS_OK;
+       return 0;
 }
 
 static int ctdbd_msg_call_back(struct ctdbd_connection *conn,
@@ -177,19 +177,19 @@ static int ctdbd_msg_call_back(struct ctdbd_connection 
*conn,
 /*
  * get our vnn from the cluster
  */
-static NTSTATUS get_cluster_vnn(struct ctdbd_connection *conn, uint32_t *vnn)
+static int get_cluster_vnn(struct ctdbd_connection *conn, uint32_t *vnn)
 {
        int32_t cstatus=-1;
-       NTSTATUS status;
-       status = ctdbd_control(conn,
-                              CTDB_CURRENT_NODE, CTDB_CONTROL_GET_PNN, 0, 0,
-                              tdb_null, NULL, NULL, &cstatus);
-       if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(1, ("ctdbd_control failed: %s\n", nt_errstr(status)));
-               return status;
+       int ret;
+       ret = ctdbd_control(conn,
+                           CTDB_CURRENT_NODE, CTDB_CONTROL_GET_PNN, 0, 0,
+                           tdb_null, NULL, NULL, &cstatus);
+       if (ret != 0) {
+               DEBUG(1, ("ctdbd_control failed: %s\n", strerror(ret)));
+               return ret;
        }
        *vnn = (uint32_t)cstatus;
-       return status;
+       return ret;
 }
 
 /*
@@ -198,18 +198,17 @@ static NTSTATUS get_cluster_vnn(struct ctdbd_connection 
*conn, uint32_t *vnn)
 static bool ctdbd_working(struct ctdbd_connection *conn, uint32_t vnn)
 {
        int32_t cstatus=-1;
-       NTSTATUS status;
        TDB_DATA outdata;
        struct ctdb_node_map *m;
        uint32_t failure_flags;
-       bool ret = false;
-       int i;
-
-       status = ctdbd_control(conn, CTDB_CURRENT_NODE,
-                              CTDB_CONTROL_GET_NODEMAP, 0, 0,
-                              tdb_null, talloc_tos(), &outdata, &cstatus);
-       if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(1, ("ctdbd_control failed: %s\n", nt_errstr(status)));
+       bool ok = false;
+       int i, ret;
+
+       ret = ctdbd_control(conn, CTDB_CURRENT_NODE,
+                           CTDB_CONTROL_GET_NODEMAP, 0, 0,
+                           tdb_null, talloc_tos(), &outdata, &cstatus);
+       if (ret != 0) {
+               DEBUG(1, ("ctdbd_control failed: %s\n", strerror(ret)));
                return false;
        }
        if ((cstatus != 0) || (outdata.dptr == NULL)) {
@@ -240,10 +239,10 @@ static bool ctdbd_working(struct ctdbd_connection *conn, 
uint32_t vnn)
                goto fail;
        }
 
-       ret = true;
+       ok = true;
 fail:
        TALLOC_FREE(outdata.dptr);
-       return ret;
+       return ok;
 }
 
 uint32_t ctdbd_vnn(const struct ctdbd_connection *conn)
@@ -302,7 +301,7 @@ static int ctdb_read_packet(int fd, int timeout, TALLOC_CTX 
*mem_ctx,
        ssize_t nread;
 
        if (timeout != -1) {
-               ret = poll_one_fd(fd, POLLIN, timeout, &revents);
+               ret = poll_intr_one_fd(fd, POLLIN, timeout, &revents);
                if (ret == -1) {
                        return errno;
                }
@@ -337,9 +336,11 @@ static int ctdb_read_packet(int fd, int timeout, 
TALLOC_CTX *mem_ctx,
        nread = read_data(fd, ((char *)req) + sizeof(msglen),
                          msglen - sizeof(msglen));
        if (nread == -1) {
+               TALLOC_FREE(req);
                return errno;
        }
        if (nread == 0) {
+               TALLOC_FREE(req);
                return EIO;
        }
 
@@ -416,23 +417,22 @@ static int ctdbd_connection_destructor(struct 
ctdbd_connection *c)
  * Get us a ctdbd connection
  */
 
-static NTSTATUS ctdbd_init_connection(TALLOC_CTX *mem_ctx,
-                                     const char *sockname, int timeout,
-                                     struct ctdbd_connection **pconn)
+static int ctdbd_init_connection(TALLOC_CTX *mem_ctx,
+                                const char *sockname, int timeout,
+                                struct ctdbd_connection **pconn)
 {
        struct ctdbd_connection *conn;
        int ret;
-       NTSTATUS status;
 
        if (!(conn = talloc_zero(mem_ctx, struct ctdbd_connection))) {
                DEBUG(0, ("talloc failed\n"));
-               return NT_STATUS_NO_MEMORY;
+               return ENOMEM;
        }
 
        conn->sockname = talloc_strdup(conn, sockname);
        if (conn->sockname == NULL) {
                DBG_ERR("%s: talloc failed\n", __func__);
-               status = NT_STATUS_NO_MEMORY;
+               ret = ENOMEM;
                goto fail;
        }
 
@@ -444,72 +444,71 @@ static NTSTATUS ctdbd_init_connection(TALLOC_CTX *mem_ctx,
 
        ret = ctdbd_connect(conn->sockname, &conn->fd);
        if (ret != 0) {
-               status = map_nt_error_from_unix(ret);
                DEBUG(1, ("ctdbd_connect failed: %s\n", strerror(ret)));
                goto fail;
        }
        talloc_set_destructor(conn, ctdbd_connection_destructor);
 
-       status = get_cluster_vnn(conn, &conn->our_vnn);
+       ret = get_cluster_vnn(conn, &conn->our_vnn);
 
-       if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(10, ("get_cluster_vnn failed: %s\n", nt_errstr(status)));
+       if (ret != 0) {
+               DEBUG(10, ("get_cluster_vnn failed: %s\n", strerror(ret)));
                goto fail;
        }
 
        if (!ctdbd_working(conn, conn->our_vnn)) {
                DEBUG(2, ("Node is not working, can not connect\n"));
-               status = NT_STATUS_INTERNAL_DB_ERROR;
+               ret = EIO;
                goto fail;
        }
 
        generate_random_buffer((unsigned char *)&conn->rand_srvid,
                               sizeof(conn->rand_srvid));
 
-       status = register_with_ctdbd(conn, conn->rand_srvid, NULL, NULL);
+       ret = register_with_ctdbd(conn, conn->rand_srvid, NULL, NULL);
 
-       if (!NT_STATUS_IS_OK(status)) {
+       if (ret != 0) {
                DEBUG(5, ("Could not register random srvid: %s\n",
-                         nt_errstr(status)));
+                         strerror(ret)));
                goto fail;
        }
 
        *pconn = conn;
-       return NT_STATUS_OK;
+       return 0;
 
  fail:
        TALLOC_FREE(conn);
-       return status;
+       return ret;
 }
 
 /*
  * Get us a ctdbd connection and register us as a process
  */
 
-NTSTATUS ctdbd_messaging_connection(TALLOC_CTX *mem_ctx,
-                                   const char *sockname, int timeout,
-                                   struct ctdbd_connection **pconn)
+int ctdbd_messaging_connection(TALLOC_CTX *mem_ctx,
+                              const char *sockname, int timeout,
+                              struct ctdbd_connection **pconn)
 {
         struct ctdbd_connection *conn;
-       NTSTATUS status;
+       int ret;
 
-       status = ctdbd_init_connection(mem_ctx, sockname, timeout, &conn);
+       ret = ctdbd_init_connection(mem_ctx, sockname, timeout, &conn);
 


-- 
Samba Shared Repository

Reply via email to