IF YOU WOULD LIKE TO GET AN ACCOUNT, please write an
email to Administrator. User accounts are meant only to access repo
and report issues and/or generate pull requests.
This is a purpose-specific Git hosting for
BaseALT
projects. Thank you for your understanding!
Только зарегистрированные пользователи имеют доступ к сервису!
Для получения аккаунта, обратитесь к администратору.
Send the ctdb_db_statistics directly instead of first copying it to
duplicate ctdb_db_statistics_wire structure. This simplifies the
implementation of the control to get database statistics.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 26a4653df594d351ca0dc1bd5f5b2f5b0eb0a9a5)
If the socket is set non-blocking before connect, then we should catch
EAGAIN errors and retry. Instead of adding a random number of retries,
better to wait for connect to succeed and then set the socket to
non-blocking.
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
(This used to be ctdb commit 524ec206e6a5e8b11723f4d8d1251ed5d84063b0)
These controls include:
CTDB_CONTROL_GET_RECMODE
CTDB_CONTROL_GET_RECMASTER
CTDB_CONTROL_GET_PID
CTDB_CONTROL_GET_PNN
CTDB_CONTROL_PING
CTDB_CONTROL_GET_DB_PRIORITY
In these cases the data field is empty.
Signed-off-by: Martin Schwenke <martin@meltin.net>
(This used to be ctdb commit b89e959904d7d1b0e5525abd7789f5101537a46a)
We dont strictly need to force clients to use CTDB_FETCH_WITH_HEADER instead of CTDB_FETCH when they ask for readonly records.
Have ctdbd internally remap this internally to FETCH_WITH_HEADER and map the reply back to CTDB_FETCH_FUNC or CTDB_FETCH_WITH_HEADER_FUNC based on what the client initially asked for.
This removes the need for the client to know about the CTDB_FETCH_WITH_HEADER_FUNC function and simplifies the client code.
Clients that do not care what the header after the request is can just continue using the old CTDB_FETCH_FUNC call and ctdbd will do all the difficult stuff.
(This used to be ctdb commit 444a7bac4e9a854b06c1ad4cb36c2b58a72001fa)
In 8281bb210858ed04992eacea7f6d02261e0fc1b1, I forgot to change
this hunk back when hiding the wire changes done in commit
ddc5da3a0df7701934404192a0a0aa659a806acb behind a new control
CTDB_CONTROL_TRAVERSE_START_EXT.
(This used to be ctdb commit faf25e8a2fdf80a016048e1f698a014ceb5e604f)
This reverts commit 08e06176feab1ec244496e62a916fbb77817239f.
I wanted to fix this differently, not using the extended traverse_start
control...
(This used to be ctdb commit f60de23e0a8307b5baaa9c4b8406b2b223487a48)
The traverse control has changed wireformat so update also libctdb to use the correct
version of the wire structure and compile
(This used to be ctdb commit 08e06176feab1ec244496e62a916fbb77817239f)
This will be useful for also printing information about empty/deleted
records in "ctdb catdb", e.g. for debugging vacuuming issues.
(This used to be ctdb commit ddc5da3a0df7701934404192a0a0aa659a806acb)
If we attempt a readonly lock request for a record that do not exist (yet)
in the local TDB, then upgrade the request to ask for a write lock and force a
request for migrate the record onto the local node.
This allows the "only request record on second local request for known contended records"
heuristics to try to avoid creating readonly delegations unless we have good reason to
assume it is a contended record.
(This used to be ctdb commit e6003e52617385f731ccf93b13d21d5403534a78)
Initial readonly record support in libctdb.
New records are not yet created by the library but extising records will be delegated as readonly records.
This needs a bit more tests before we can drop the "old style" implementation of client
code in client/ctdb_client.c
(This used to be ctdb commit fb50a45a21ff56480d76acd1c33c13c323cbf5e2)
and we have not yet received a reply to.
Applications may use this command to query if it is "safe" to stop the event system and sleep
or whether it should first wait for all activity to ctdb daemons to cease first.
(This used to be ctdb commit 8d89bfdfd1f55dfeb22890b8bb0f08f31d1fa91a)
No code change, this is for easier reading the sequence of what happens
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit 883b9b185dce03a6bf233fbf2cfabad9883519e5)
No code change, this is for better readability
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit e0f93459e05eef33024096654b4aaf1eb3c6d7c4)
We need that to have the "offsetof" macro, thus we don't need to redeclare it
in libctdb_private.h
Signed-off-by: Michael Adam <obnox@samba.org>
(This used to be ctdb commit 4bfdfdae4f8ab23f14bc6ab4c06b66c07714ec17)
From Michael Anderson,
initialize the inqueue element of the ctdb structure to NULL,
else it might be used uninitialized and cause a segv.
(This used to be ctdb commit 775d02180b825ae32d6536eaf2059884d5fed9f4)
Add an input queue where we keep received pdus we have not yet processed
This allows us to perform SYNC calls from an ASYNC callback
(This used to be ctdb commit c111e98d3ad7bd3d09f4081e9bb1443d3722672f)
This function returns a pointer to a nodemap structure.
The returned structure must later be freed by calling ctdb_free_nodemap().
Move the definition of ctdb_sock_addr from ctdb_client.h to ctdb_protocol.h
Move the definition of the node flags, ctdb_node_and_flags and ctdb_node_map from ctdb_private.h to ctdb_protocol.h
Add both sync and async example for ctdb_getnodemap to the test application libctdb/tst.c
(This used to be ctdb commit 31c10eb2b337fd7d8a97a1f9e69b0e7570fec71d)
It turns out that we *do* want a separate private arg for the message
handler and the completion callback, so we change that.
We also fix the prototypes of the remove_message functions as we
implement them.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 332375246eccd95da626f434f6d49dd9458a9787)
This is a script which starts up a fake ctdbd and runs the libctdb
test suite.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 67ca040b07713d83385db63489c887f7156b7853)
Once we do operations which alter the TDBs, we need to restore them to
pristine state after a failed child dies.
The method used here is a terrible hack: it should at least do a
tdb_lockall() on the database before blatting it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit d48ec16bd2b4932442d95fc43bea52baa0425501)
Sometimes you just want to test that the basic test case is sane,
without all the failure paths being tested.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit be7c0bffb0d924c3e72753045d5b85ce90407579)
We include the file and line which called the functions, so the printed
failure path now looks like:
[malloc(ctdb.c:144)]:1:S[socket(ctdb.c:168)]:1:S...
The form is:
[ <function> ( <caller> ) ] : <input line> : <result>
<function> is the function which is called (eg. malloc).
<caller> is the file and line number which called <function>.
<input line> is the 1-based line number in the input which we were up to.
<result> is 'S' (success) or 'F' (failure).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 5fb6da30b5b5a8b761c8ab9a8124b87b759ef055)
Make children log through a pipe to the parent, which then spits it out
only if the child has a problem.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
(This used to be ctdb commit 8ac006cf6c6cbfd3fe1606178eb0f0127d33f632)