[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Thu Oct 8 00:57:04 UTC 2015


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 <uri at samba.org>
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 <uri at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>
    
    Autobuild-User(master): Jeremy Allison <jra at samba.org>
    Autobuild-Date(master): Thu Oct  8 02:56:41 CEST 2015 on sn-devel-104

commit 2bc55c5321a44e439a2e00309e979c0188c3fc75
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make messaging_send_iov_from return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 678ad954e8734fce52d283e95c0b7c5c9d0d1318
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make messaging_ctdbd_init return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7ae694372ca0037f38b82b5069a54edaeeedbd90
Author: Volker Lendecke <vl at samba.org>
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 <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a599b96f2928e5c5ec801a8e26b08ef0c082831a
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 22:30:35 2015 -0700

    lib: Remove messaging_tevent_context() dependency from ctdbd_conn.c
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6cc1e660eeb730b30cbd7bc323648444144db904
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_probe return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a6ddb991331ae07e18b9d8d12cabd25f2d82965a
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdb_unwatch return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b02fd997d26d20c207052707cda96581d6a97edb
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdb_watch_us return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 2d00fcda69152688427e59d63425f0969a95f971
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_control_local return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a039463d823ad4e7fbff5a3f8e4416c184e40f36
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_register_ips return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4caf48ecb35ca6f7b07f8b67ea94284445911e49
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_traverse return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit b78c282a91779fe53caaefca2c5a610d77694891
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_parse return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4636912985e47f0562524b33ba457e5e4d33a0b9
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_migrate return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 210e1fb265e4c1dde6a67aecfb72951703df3cc0
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_db_attach return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fdfc7299a67b5c7d0eac2d084a6e9ac490f083f5
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_messaging_send_iov return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 546d8b4129cb782c38337ed37a80420c3e846306
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_messaging_connection return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 9da6cce5c064338ce63f394d9c3a64c449f41b66
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_init_connection return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 03fd13f01a6f5b4fbb3f9ab846d3326e81fb561b
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make ctdbd_register_msg_ctx return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit f3c88bd6c2190cbb32501d2721d04bfc81ef4d22
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make get_cluster_vnn return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 84ad1a13721da44cf55650e04780a64cefe5f8e0
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:42:05 2015 -0700

    lib: Make register_with_ctdbd return 0/errno
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7b8853fc42b929e9f14bf249998a6111c10aad66
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:31:52 2015 -0700

    lib: Rename ctdbd_control_unix to ctdbd_control
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit fd6293c987f1d8c97be4bddd08301bc78a754a60
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:29:56 2015 -0700

    lib: Remove ctdbd_control
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 108b6270f7bf702b13344386b8838fd645c13929
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_register_ips
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit dae02e9adb4099a37501d9f234a351f34aadaa93
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_db_attach
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a44894506e904a6f0076eed54969bd5cfcc55b7a
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_db_attach
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 24d0add465e90183a244272fe8220c85e2f9409b
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:08:53 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_dbpath
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit ab79b952de8b0887a3e19e0f5e467e40ae4e793f
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:06:59 2015 -0700

    lib: Use ctdbd_control_unix in ctdbd_working
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4d43101500fb9339fc49e3f95bc5e1a23eff1b42
Author: Volker Lendecke <vl at samba.org>
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 <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a8c035fb6dfd88abd5eebb4d79c9e927b51b5a0d
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:00:32 2015 -0700

    lib: Use ctdbd_control_unix in get_cluster_vnn
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit a5438e09af4148abb71d5de70f7e220f0cfbbbdf
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 20:00:32 2015 -0700

    lib: Use ctdbd_control_unix in register_with_ctdbd
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 858af0b4473d02e24be76e4baf51dec03ed99045
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 19:54:31 2015 -0700

    lib: Add ctdbd_control_unix
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 7b9016ac6723438ed1930d144eb109e3eb88677a
Author: Volker Lendecke <vl at samba.org>
Date:   Fri Oct 2 19:51:01 2015 -0700

    lib: Fix error talloc leaks in ctdb_read_packet()
    
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

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



More information about the samba-cvs mailing list