1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-10 01:18:15 +03:00
Commit Graph

115 Commits

Author SHA1 Message Date
Volker Lendecke
8f3be3dcff Exit with ctdb_fatal if serverids_exist fails
The only reason why this could fail is a severe ctdb communications
problem. The normal way to deal with this is ctdb_fatal. This avoids a
confusing panic in get_share_mode_lock when ctdb is shutdown while this
call happens.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-05-24 13:48:14 +02:00
Volker Lendecke
dcb3f2150e messaging: Nobody uses G_LOCK_RETRY anymore
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Tue May  6 23:01:22 CEST 2014 on sn-devel-104
2014-05-06 23:01:22 +02:00
Stefan Metzmacher
e93b85dbd8 s3:wscript: only build ctdb_dummy.c if we have no cluster support
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:11 +01:00
Stefan Metzmacher
24054b5f8b s3:param: move lp_ctdbd_socket() to ctdbd_conn.c
This allows us to use CTDB_PATH only in ctdbd_conn.c

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:10 +01:00
Stefan Metzmacher
b2c9921622 s3:lib: move all ctdb related dummy functions to ctdb_dummy.c
This gets all dummy functions for the build without CLUSTER_SUPPORT.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:10 +01:00
Stefan Metzmacher
0607b187f3 s3:ctdbd_conn: always provide ctdb_serverids_exist()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:10 +01:00
Stefan Metzmacher
e5b5775b81 s3:ctdbd_conn: add ctdb_serverids_exist_supported()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2014-03-24 17:09:10 +01:00
Stefan Metzmacher
9677fae6aa s3:lib/ctdbd_conn: let release_ip_handler return bool
If it returns true the passed ip address matched and we
let a nested ctdb operation fail with NT_STATUS_ADDRESS_CLOSED.

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
2014-02-21 12:48:31 +01:00
Volker Lendecke
fbee5795ab smbd/winbindd: Do an early check if ctdbd is functional
This will avoid panic calls when smbd and winbind is started in cluster
mode before ctdb is functional. It still logs something sane at debug
level 0, but it does not panic and core anymore.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-10-17 23:20:45 +02:00
Volker Lendecke
20d3f308e2 ctdbd_conn: Remove one call to cluster_fatal
This is during startup of a ctdb connection, thus it is not as important
as in other cases to immediately exit to free up resources

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-10-17 23:19:36 +02:00
Volker Lendecke
7dff7db566 ctdbd_conn: Remove one call to cluster_fatal
This is during startup of a ctdb connection, thus it is not as important
as in other cases to immediately exit to free up resources

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-10-17 23:19:36 +02:00
Volker Lendecke
d730a61c1e ctdbd_conn: Lift the cluster_fatal call in get_cluster_vnn
We have to report a proper error when ctdbd is not around

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-10-17 23:19:36 +02:00
Volker Lendecke
1cae59ce11 dbwrap_ctdb: Treat empty records as non-existing
This is a patch implementing the workaround Christian mentioned in
https://bugzilla.samba.org/show_bug.cgi?id=10008#c5

Bug: https://bugzilla.samba.org/show_bug.cgi?id=10008
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christian Ambach <ambi@samba.org>
2013-08-28 23:37:08 +02:00
Volker Lendecke
0a42493763 libctdb: Avoid an explicit memset
Give the compiler a chance to use better code. Saves a few bytes of text.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Aug 16 01:51:55 CEST 2013 on sn-devel-104
2013-08-16 01:51:55 +02:00
Volker Lendecke
d147194466 ctdb-conn: remove ctdbd_fetch
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26 11:19:29 +01:00
Volker Lendecke
abe4046643 ctdb-conn: Add ctdbd_parse
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26 11:19:02 +01:00
Stefan Metzmacher
95eeb9f08b s3:lib: s/event_add_timed/tevent_add_timer
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19 23:48:04 +01:00
Stefan Metzmacher
cdb97fd9ec s3:lib: s/event_add_fd/tevent_add_fd and s/EVENT_FD_/TEVENT_FD_
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19 23:48:01 +01:00
Stefan Metzmacher
c0858030ba s3:lib: s/struct fd_event/struct tevent_fd
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19 23:48:00 +01:00
Stefan Metzmacher
59b8f803d7 s3:lib: s/struct timed_event/struct tevent_timer
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19 23:47:58 +01:00
Stefan Metzmacher
935a40f4f2 s3:lib: s/struct event_context/struct tevent_context
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
2013-02-19 23:47:54 +01:00
Andreas Schneider
07385a851f s3-ctdb: Make sure addr.sun_path is null terminated.
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Günther Deschner <gd@samba.org>
2012-12-12 15:00:02 +01:00
Christian Ambach
764f2f99e0 s3-ctdb: return proper exit code
do not loose the result from ctdbd_messaging_send_blob()

Autobuild-User(master): Christian Ambach <ambi@samba.org>
Autobuild-Date(master): Fri Aug  3 14:49:01 CEST 2012 on sn-devel-104
2012-08-03 14:49:01 +02:00
Christian Ambach
0a45e9c4d2 s3-ctdb: adjust a loglevel 2012-08-03 12:53:49 +02:00
Volker Lendecke
6cfe6e92a1 s3-ctdb: Fix ctdb_serverids_exist for target nodes that died
Signed-off-by: Christian Ambach <ambi@samba.org>
2012-08-03 12:53:49 +02:00
Volker Lendecke
6d83e35410 s3-ctdb: Add debugs to ctdb_serverids_exist
Signed-off-by: Christian Ambach <ambi@samba.org>
2012-08-03 12:53:49 +02:00
Michael Adam
9b9ef92701 s3:ctdbd_conn: use unitX_t types consistently throughout the module
Signed-off-by: Stefan Metzmacher <metze@samba.org>
2012-08-01 12:30:26 +02:00
Volker Lendecke
7a2daf34f2 s3: Use string_term_tdb_data where appropriate
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-21 14:08:38 +02:00
Volker Lendecke
c6aa36c6c4 s3: Fix const warnings
Signed-off-by: Michael Adam <obnox@samba.org>
2012-06-21 14:08:38 +02:00
Volker Lendecke
0b501e823f s3: Make ctdbd_messaging_send_blob available in non-clustered mode
This will avoid the need for some #ifdefs
2012-04-17 10:21:02 +02:00
Volker Lendecke
05ff425c17 s3: Introduce ctdb_messaging_send_blob
Send a raw blob without the messaging.idl wrap
2012-04-17 10:21:01 +02:00
Volker Lendecke
a49ac23a10 s3: Return CTDB_PATH from lp_ctdbd_socket()
All callers had that fallback
2012-04-17 10:21:00 +02:00
Jelmer Vernooij
c0288e0612 lib/util: Remove obsolete sys_getpid() and sys_fork().
The performance of these is minimal (these days) and they can return
invalid results when used as part of applications that do not use
sys_fork().

Autobuild-User: Jelmer Vernooij <jelmer@samba.org>
Autobuild-Date: Sat Mar 24 21:55:41 CET 2012 on sn-devel-104
2012-03-24 21:55:40 +01:00
Jelmer Vernooij
eb3617c426 ctdb_conn: Avoid sys_connect. 2012-03-24 14:48:56 +01:00
Amitay Isaacs
5c5111ca03 s3-ctdb: Enable CTDB readonly support only if CTDB supports it
Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Mon Mar  5 02:47:36 CET 2012 on sn-devel-104
2012-03-05 02:47:36 +01:00
Rusty Russell
5bda068773 dbwrap_ctdb: only fetch a read-only copy if we had a record already.
Because revoking read-only copies of records is expensive, we only
want ctdbd to do it for high-turnover records.  A basic heuristic is
that if we don't find a local copy of the record, don't ask for a
read-only copy.

The fetch itself will cause ctdbd to migrate the record, so eventually
we will have a local copy.  Next time it gets migrated away, we'll
call ctdbd_fetch() with local_copy = true.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-03-05 01:11:26 +01:00
Rusty Russell
67bb5abe81 ctdbd_conn: fetch read-only copies of records.
This means we try to get a read-only copy of a record, which we can
then place in the local tdb.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-03-05 01:11:26 +01:00
Volker Lendecke
dd5868d41e s3: Add SERVERID_UNIQUE_ID_NOT_TO_VERIFY, bug 8760
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Feb 15 21:10:22 CET 2012 on sn-devel-104
2012-02-15 21:10:22 +01:00
Volker Lendecke
27f6421fa6 s3: Increase debug level of basic ctdb packet handling
This clutters the debug level 10 output significantly without much
value

Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Tue Feb  7 18:19:08 CET 2012 on sn-devel-104
2012-02-07 18:19:08 +01:00
Volker Lendecke
5fb578ee09 s3: FreeBSD does not define sin6_addr.s_addr32
Autobuild-User: Volker Lendecke <vl@samba.org>
Autobuild-Date: Mon Feb  6 20:03:58 CET 2012 on sn-devel-104
2012-02-06 20:03:58 +01:00
Stefan Metzmacher
4a1895eb99 s3:lib/ctdbd_conn: try ctdbd_init_connection() as root
ctdbd_traverse is only called if the main db_context is already
open. So if we could get to information via dbwrap_fetch,
we should also be able to traverse.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Fri Dec 23 18:19:14 CET 2011 on sn-devel-104
2011-12-23 18:19:13 +01:00
Günther Deschner
cf57fd44d7 s3-ctdb: fix the build w/o HAVE_CTDB_CONTROL_CHECK_SRVIDS_DECL
Volker, please check.

Guenther

Autobuild-User: Günther Deschner <gd@samba.org>
Autobuild-Date: Mon Dec 12 17:42:29 CET 2011 on sn-devel-104
2011-12-12 17:42:29 +01:00
Volker Lendecke
99f2177e8f s3-ctdb: Make use of CTDB_CONTROL_CHECK_SRVIDS
This should be a lot quicker than PROCESS_EXISTS followed by looking at
serverid.tdb

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed Nov 30 12:47:27 CET 2011 on sn-devel-104
2011-11-30 12:47:27 +01:00
Volker Lendecke
145f53e824 s3: server_id.pid has turned 64 (bits, that is)
Fix ctdb_processes_exist protocol. The socket expects pid_t which is 32 bits on
32 bit machines.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Thu Nov 10 18:57:01 CET 2011 on sn-devel-104
2011-11-10 18:57:01 +01:00
Volker Lendecke
a29f7e632f s3-ctdb: Fix ctdb_read_req
If a complete request has come in already before we consumed it, the
ctdb_packet_fd_read_sync will block indefinitely. So always try packet_handler
first and only if that fails due to insufficient data, read from the socket.

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Thu Oct 27 22:12:05 CEST 2011 on sn-devel-104
2011-10-27 22:12:05 +02:00
Volker Lendecke
195ae03950 s3-ctdb: Add debug to ctdb_processes_exist 2011-10-27 20:28:31 +02:00
Volker Lendecke
c5cfc83a3e s3-ctdb: Make ctdbd_process_exists use ctdbd_processes_exist
Not strictly necessary, but more code exercise is good
2011-10-27 20:28:31 +02:00
Volker Lendecke
1c4fe39033 s3-ctdb: Add ctdb_processes_exist
This sends out a number of process_exists controls in parallel and collects the
replies as they come in.
2011-10-27 20:28:31 +02:00
Volker Lendecke
c2edecf6bd s3-ctdb: Allow ctdb_read_req to read any reqid 2011-10-27 20:28:31 +02:00
Volker Lendecke
2cf1347211 s3-ctdb: Don't hand out 0 as reqid
0 will be used as a wildcard reqid in ctdb_read_req
2011-10-27 20:28:31 +02:00