[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