summaryrefslogtreecommitdiffstats
path: root/ctdb/include
diff options
context:
space:
mode:
authorMichael Adam <obnox@samba.org>2009-12-03 17:59:49 +0100
committerMichael Adam <obnox@samba.org>2009-12-12 00:43:26 +0100
commitfaacd5ca7946d23deeff604c82a5e9e707a37ac2 (patch)
tree4d14e9b6d35fdc9eef5141ff9c941090ea9c3f39 /ctdb/include
parenta8549ef700eeeb8fa6eefac3c0f9f5f58bde9f51 (diff)
downloadsamba-faacd5ca7946d23deeff604c82a5e9e707a37ac2.tar.gz
samba-faacd5ca7946d23deeff604c82a5e9e707a37ac2.tar.xz
samba-faacd5ca7946d23deeff604c82a5e9e707a37ac2.zip
server: add a new control CTDB_CONTROL_TRANS3_COMMIT
This is a simplified version of the trans2 commit control: It just rolls out the marshall buffer to all active nodes. It is the main ctdbd part of the re-implementation of the persistent transactions. The client code is changed to take a global lock to start a transactions and store into the marshal buffer instead of writing to the local tdb under a local transaction. The old transaction implementation is going to be removed in a later commit. Michael (This used to be ctdb commit f66428f9d2013080a414404c1ba6117888352fd6)
Diffstat (limited to 'ctdb/include')
-rw-r--r--ctdb/include/ctdb_private.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/ctdb/include/ctdb_private.h b/ctdb/include/ctdb_private.h
index 142bbd5c71..0c611c287d 100644
--- a/ctdb/include/ctdb_private.h
+++ b/ctdb/include/ctdb_private.h
@@ -625,6 +625,7 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS = 0,
CTDB_CONTROL_TRANS2_ACTIVE = 116,
CTDB_CONTROL_GET_LOG = 117,
CTDB_CONTROL_CLEAR_LOG = 118,
+ CTDB_CONTROL_TRANS3_COMMIT = 119,
};
/*
@@ -1426,6 +1427,10 @@ int32_t ctdb_control_trans2_commit(struct ctdb_context *ctdb,
struct ctdb_req_control *c,
TDB_DATA recdata, bool *async_reply);
+int32_t ctdb_control_trans3_commit(struct ctdb_context *ctdb,
+ struct ctdb_req_control *c,
+ TDB_DATA recdata, bool *async_reply);
+
int32_t ctdb_control_transaction_start(struct ctdb_context *ctdb, uint32_t id);
int32_t ctdb_control_transaction_commit(struct ctdb_context *ctdb, uint32_t id);
int32_t ctdb_control_transaction_cancel(struct ctdb_context *ctdb);