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

189 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Andrew Tridgell
e51142c8f3 validate the vnn
(This used to be ctdb commit 025e58ba2b870ebb861b015d5c79dac7f5402bfb)
2007-04-26 15:38:33 +02:00
Andrew Tridgell
1b36d7bebd fixed typo
(This used to be ctdb commit 9755f9c62fd14abc65189fc06629f37546f53082)
2007-04-26 15:33:17 +02:00
Andrew Tridgell
c23d1694db merge from peter
(This used to be ctdb commit ddf390da2bceb5b3f431433aec424d99d98c05f4)
2007-04-26 15:28:13 +02:00
Peter Somogyi
9d521cf16a merged tridge's branch
(This used to be ctdb commit 02ec7d6abb75a7c0a414efd4a50d44e6f1e5e407)
2007-04-26 15:00:24 +02:00
Andrew Tridgell
8ae14b4052 moved status to ctdb_control
(This used to be ctdb commit 9a543968ba0379fbf8e977e184f22f4349d6243f)
2007-04-26 14:51:41 +02:00
Andrew Tridgell
d955485e7b added a ctdb control message, and tool
(This used to be ctdb commit 0d7a71f35bb8ce95231f8ca1e8e3e4024fe657e5)
2007-04-26 14:27:49 +02:00
Andrew Tridgell
c1a4b3c687 merge from ronnie
(This used to be ctdb commit 37ef65737571a4290a150c28cf2b0a6b221253fd)
2007-04-26 11:13:49 +02:00
Andrew Tridgell
3d14b79c2f popt not needed in lockwait code
(This used to be ctdb commit 796fdbe8efc3d74515218ddcb25abdbec2e9c2b7)
2007-04-23 23:33:37 +02:00
Ronnie Sahlberg
dabf61075f add pdu's that the client can use to query the ctdb daemon of the path
to the database it created (so the client can open and access the same 
file)

(This used to be ctdb commit c2eda19499b3263b2248c41bd531fb73c7b42212)
2007-04-24 00:06:48 +10:00
Ronnie Sahlberg
bd62c78154 split the 32bit idr field into two.
store the idr as the high 16 bits and use a rotating counter for the low 
16 bits.

(This used to be ctdb commit 7c763b7b5e6ca54a6df4586893ddaf1b508b4c22)
2007-04-23 18:19:50 +10:00
Ronnie Sahlberg
42971d6565 add a comment that sometimes sending remote calls straight to the
lmaster instead of what the nodes think is the dmaster (which might be 
stale) improve performance.

(This used to be ctdb commit f535f79e6a2a6c6d07141b96e0b957fa93c684f4)
2007-04-23 17:05:09 +10:00
Andrew Tridgell
f651581460 added max_redirect_count status field
(This used to be ctdb commit ecea04741fe552aa409ab165d7c69ead9649986c)
2007-04-22 18:57:22 +02:00