1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-29 21:47:30 +03:00

412 Commits

Author SHA1 Message Date
Andrew Tridgell
3a05ad1402 fixed a lib/events bug found by volker
(This used to be ctdb commit 46cd984500cd77d295f059132b4892dbfbc2bcd3)
2007-05-02 06:50:12 +10:00
Andrew Tridgell
2dc24c7d56 added a hopcount in ctdb_call
(This used to be ctdb commit 36d838801a2a2008c50322cdbfff65a308b1cd1a)
2007-05-01 13:25:02 +10:00
Andrew Tridgell
5b8c4bba5a auto-determine listen address by attempting to bind to each address in the cluster in turn
(This used to be ctdb commit 2fab9f96df2e5b5c51c860fd65caf0e926a63e34)
2007-05-01 06:34:55 +10:00
Andrew Tridgell
bbf358cfcf added attach command in ctdb_control
(This used to be ctdb commit 172ee33306be2ef5ce17a5b9d7fbcc1f265a1b0b)
2007-04-30 15:54:06 +02:00
Andrew Tridgell
9366120d92 changed the way set_call and attach are done so that you can safely
attach to databases after the protocol has started. The daemon
broadcasts information on new databases to the other daemons.

This also eliminates the need for the client to know about the hash
between db name and db_id.

(This used to be ctdb commit 3bad91a9d987d4c09fe3322eac23c2733660ad08)
2007-04-30 15:31:40 +02:00
Andrew Tridgell
4832d8f834 don't use stderr here - rely on logging
(This used to be ctdb commit a2a3b254b22dbaafc8c4934d99cc67d6ae4adbd1)
2007-04-30 11:10:21 +02:00
Andrew Tridgell
f455d3f44b saner logfile code
testing of ctdbd

(This used to be ctdb commit 05789da5818f8b20f04779b0df5125914d9047f6)
2007-04-29 22:42:23 +02:00
Andrew Tridgell
e21f69107f yay! finally fixed the bug that volker, ronnie and I have been chasing
for 2 days.

The main bug was in smbd, but there was a secondary (and more subtle)
bug in ctdb that the bug in smbd exposed. When we get send a dmaster
reply, we have to correctly update the dmaster in the recipient even
if the original requst has timed out, otherwise ctdbd can get into a
loop fighting over who will handle a key.

This patch also cleans up the packet allocation, and makes ctdbd
become a real daemon.

(This used to be ctdb commit 59405e59ef522b97d8e20e4b14310a217141ac7c)
2007-04-29 16:19:40 +02:00
Andrew Tridgell
10910f52eb added reset status control
(This used to be ctdb commit ec342b667a085a5c740fbeec8882070571071862)
2007-04-28 19:13:36 +02:00
Andrew Tridgell
1627a5d749 removed unnecessary variable
(This used to be ctdb commit ef0027faa631b00c7fc1a7c4538fbf3080248f0b)
2007-04-28 18:55:37 +02:00
Andrew Tridgell
6e09bfdaf9 much simpler redirect logic
(This used to be ctdb commit 95db9afa7dd039e1700e2f3078782f6ac66e9f51)
2007-04-28 18:18:33 +02:00
Andrew Tridgell
1e538be42d better name for this hack
(This used to be ctdb commit e5a98eee991a7926ddb6964ea3785b11303d175e)
2007-04-28 17:46:37 +02:00
Andrew Tridgell
c885b159f4 use ctdb_get_connected_nodes for node listing
(This used to be ctdb commit b4efdd1944207e51dccd6cd5e50f451a7dddcd91)
2007-04-28 17:42:40 +02:00
Andrew Tridgell
4b6d00974d added status all and debug all control operations
(This used to be ctdb commit 7f902f6c4270adc0543096c78415d335b88d6232)
2007-04-28 17:13:30 +02:00
Andrew Tridgell
d6977a714f use rsync to avoid text busy on install
(This used to be ctdb commit d19be7ea56003faffcb3fb8a76fd804df0431242)
2007-04-28 17:13:02 +02:00
Andrew Tridgell
e6d5848a20 report number of clients in ping
(This used to be ctdb commit 9deaa1892faa8288cad9f6fde20d2aa8ba8af699)
2007-04-28 15:15:21 +02:00
Andrew Tridgell
2e77ee8f4d merged from ronnie
(This used to be ctdb commit 521484a462dcddeebe02bb9c725e18939919b6fe)
2007-04-28 13:02:59 +02:00
Ronnie Sahlberg
4381fb07c1 print vnn as decimal instead of hex
(This used to be ctdb commit 89512fd659c5b1dc450b7162ca985a7083fd40ac)
2007-04-28 20:42:42 +10:00
Ronnie Sahlberg
acb4bc095b add a few more controls that are useful for debugging a cluster
(This used to be ctdb commit 751c1365ab55a217ff33d985d52bd26581578617)
2007-04-28 20:40:26 +10:00
Andrew Tridgell
6c56be8888 allow ctdbd_allocate_pkt to be used in client code
(This used to be ctdb commit 2c37cc7bb97dee5bb2e929958e6c834b27c9ae6a)
2007-04-28 12:01:46 +02:00
Ronnie Sahlberg
643bfe83d3 add a control to pull the database list from a remote node
(This used to be ctdb commit d130e02936ea4bdcd3a6f02c53be4b7771993138)
2007-04-28 20:00:50 +10:00
Andrew Tridgell
ee228e870d fixed some warnings
(This used to be ctdb commit b5434a40cf2db008eb1e681fcd2ceeff331324fa)
2007-04-28 11:35:49 +02:00
Ronnie Sahlberg
fd9b5591ba you cant dereference ctdb->vnnmap in the client since it is null in hte
client

(This used to be ctdb commit cbd01fc8978f798a5eb5c8920a1acb68d43f7a80)
2007-04-28 19:28:25 +10:00
Andrew Tridgell
76381c4493 added make test and make valgrindtest targets
(This used to be ctdb commit b69fb43643993ee5aaabf8711bb874f95d468f35)
2007-04-28 10:57:58 +02:00
Ronnie Sahlberg
c43e71b0af merge from tridge
(This used to be ctdb commit 6ca7caa90f4aa7fa2753f6ee9090d629cdb63871)
2007-04-28 18:52:22 +10:00
Andrew Tridgell
353a82f87c factor out the packet allocation code
(This used to be ctdb commit 4cbaf22cc4bede8c95dd9b87e21bbe886307e23b)
2007-04-28 10:50:32 +02:00
Andrew Tridgell
a8de91b83f merge from ronnie
(This used to be ctdb commit 9253714401de1d7fea6ad44c35f324004683abd7)
2007-04-28 09:54:45 +02:00
Ronnie Sahlberg
21331d3c94 ctdb will now verify that the generation id for all CTDB_REQ_CALLs that
it receives from remote nodes with its own generation number.

if the generation id do not match the daemon will just discard the 
packet completely.
this will require that clients such as samba3 will have to be aware that 
calls it sends to remote nodes may get lost and will have to resend the 
requests after a timeout.

during cluster recovery/reconfiguration the generation nnumbers will be 
changing and this can be used to prevent nodes that are still in the 
"old" instance from talking to nodes that belong to the new generation 
instance

(This used to be ctdb commit 4c197f1cbfdd5f65af9c059aae2b4508ebd0cd34)
2007-04-28 01:48:31 +10:00
Andrew Tridgell
4c6d6d4aa6 added install target
(This used to be ctdb commit f24f043a18082d21ba240a73de9daab50cd442a5)
2007-04-27 17:24:10 +02:00
Ronnie Sahlberg
8d670cbf74 clients should not fill in "generation" nor be aware of what generation
the cluster is currently in.

remove all instances where the clients try to fill in the generation 
field of the header

(This used to be ctdb commit fd75463f69f9f9100b2fe4cb710201a8262cdcec)
2007-04-28 01:19:40 +10:00
Andrew Tridgell
d2f600b15f always use allocated packets to avoid alignment errors
(This used to be ctdb commit 47b53d344941a3203c87788439e7df59477681be)
2007-04-27 17:10:47 +02:00
Ronnie Sahlberg
916c55ec2f add a generation field to the pdu header.
this will allow a node to verify that a received pdu is sent from a node 
in the same generation instance of a cluster.

(This used to be ctdb commit e32d3ca9a622237c4e2622de98825c0962760d48)
2007-04-28 01:06:26 +10:00
Andrew Tridgell
e629252b2c merge from ronnie
(This used to be ctdb commit d21de127cceea7174b2e05701c8846c0b0c881c0)
2007-04-27 16:53:52 +02:00
Andrew Tridgell
eee3912c99 some debug code
(This used to be ctdb commit 957801ad6285c21fd11469a60dbdcc170e7009cb)
2007-04-27 16:42:43 +02:00
Ronnie Sahlberg
5b4ebe1345 make srvid 64 bits instead of 32 bits
(This used to be ctdb commit 723bcfbba1d5aa711496d37b9658190b78a2d66b)
2007-04-28 00:31:45 +10:00
Ronnie Sahlberg
7d1b82fd09 merge from tridge
(This used to be ctdb commit 0d6fb241faa15cb2183d2faa4c5ffa607b9d5f46)
2007-04-27 23:41:45 +10:00
Andrew Tridgell
3dc6331aee merged broadcast messages from ronnie
(This used to be ctdb commit bc20a7de280dbaa5e8ceb5493c51c059aa80d41c)
2007-04-27 15:26:13 +02:00
Ronnie Sahlberg
f616f2de10 add a special VNN that means "all" nodes so that a message can be
broadcasted to all daemons in the cluster

change the message dispatch routine for sending messages so that it 
allows several clients to use the same srvid
messages are then passed on to all clients that have that srvid

(This used to be ctdb commit 05d7ebb3556785f0f17a87d808f31ffe8dac288a)
2007-04-27 23:16:17 +10:00
Andrew Tridgell
22546add19 debug level controls
(This used to be ctdb commit 85f883c081dd1ab069420d2e7f4f2e9d708b3cde)
2007-04-27 15:14:36 +02:00
Andrew Tridgell
837c3cc4b1 nicer testing of control data size
(This used to be ctdb commit 67d51cd74c8bbd20cae1da9f04f32ff887fc4f8c)
2007-04-27 14:49:44 +02:00
Andrew Tridgell
5b8bb39b8a merge from ronnie
(This used to be ctdb commit c2ad6820f4526c230178e7d1b66b82103bfed904)
2007-04-27 14:45:45 +02:00
Ronnie Sahlberg
d4c54a93a0 add a new control : SETVNNMAP to set the generation id and also the vnn
map on a ctdbd daemon

(This used to be ctdb commit f55707885f7b233ad6ddfc952d08851577063200)
2007-04-27 22:08:12 +10:00
Ronnie Sahlberg
d9edf88ae5 add a control to read the vnnmap configuration from a node
add support in ctdb_control to fetch this information from a node

(This used to be ctdb commit 8d7f26c8d78d30c3ccb15a28ddea940d8666e052)
2007-04-27 20:56:10 +10:00
Ronnie Sahlberg
c85caced31 merge from tridge
(This used to be ctdb commit d171b27028172754eee7c02def1c93df7aac2bb3)
2007-04-27 19:01:27 +10:00
Andrew Tridgell
1546dba6ad merge vnn_map code from ronnie
(This used to be ctdb commit 01eed862bb007bdb7da61f0521a9a64e0c85e3a2)
2007-04-27 11:01:03 +02:00
Ronnie Sahlberg
ec3856ead9 add a mapping table from a hash value to a lmaster vnn number
update ctdb_lmaster() return the lmaster based on this tables contents


initialize the vnn table based on number of nodes for now.
later when recovery is implemented the recovery process will populate 
this mapping table.

(This used to be ctdb commit 71e440f6c26ea074f9887237c962101c8cef8c80)
2007-04-27 18:43:52 +10:00
Andrew Tridgell
7d3ab0f5fb null terminate a string
(This used to be ctdb commit a7408802c7bff235bd917d06f98e00e309d2d5ca)
2007-04-26 23:29:26 +02:00
Andrew Tridgell
f0a582e454 got rid of the getdbpath call
(This used to be ctdb commit 736ce5c00a1d1b47abb44c4b262b14bfba5202b1)
2007-04-26 23:10:35 +02:00
Andrew Tridgell
afa0876335 added a ctdb_get_config call
added a ctdb ping control

(This used to be ctdb commit 7d17378b6e6076a922cffe98239e20dfbbae3bf7)
2007-04-26 19:27:07 +02:00
Andrew Tridgell
fc43701cbb removed some bogus debug lines
(This used to be ctdb commit 25aa579058ecd2a33b13b4c1d6c7c75427bbdafa)
2007-04-26 18:31:13 +02:00