summaryrefslogtreecommitdiff
path: root/source4/cluster/ctdb/common
diff options
context:
space:
mode:
Diffstat (limited to 'source4/cluster/ctdb/common')
-rw-r--r--source4/cluster/ctdb/common/ctdb.c8
-rw-r--r--source4/cluster/ctdb/common/ctdb_call.c2
2 files changed, 9 insertions, 1 deletions
diff --git a/source4/cluster/ctdb/common/ctdb.c b/source4/cluster/ctdb/common/ctdb.c
index ad0345b3c7..dd9a6db770 100644
--- a/source4/cluster/ctdb/common/ctdb.c
+++ b/source4/cluster/ctdb/common/ctdb.c
@@ -48,6 +48,13 @@ void ctdb_set_flags(struct ctdb_context *ctdb, unsigned flags)
ctdb->flags |= flags;
}
+/*
+ set max acess count before a dmaster migration
+*/
+void ctdb_set_max_lacount(struct ctdb_context *ctdb, unsigned count)
+{
+ ctdb->max_lacount = count;
+}
/*
add a node to the list of active nodes
@@ -281,6 +288,7 @@ struct ctdb_context *ctdb_init(struct event_context *ev)
ctdb->ev = ev;
ctdb->upcalls = &ctdb_upcalls;
ctdb->idr = idr_init(ctdb);
+ ctdb->max_lacount = CTDB_DEFAULT_MAX_LACOUNT;
return ctdb;
}
diff --git a/source4/cluster/ctdb/common/ctdb_call.c b/source4/cluster/ctdb/common/ctdb_call.c
index 2bedccc86a..5c0a00c6e9 100644
--- a/source4/cluster/ctdb/common/ctdb_call.c
+++ b/source4/cluster/ctdb/common/ctdb_call.c
@@ -345,7 +345,7 @@ void ctdb_request_call(struct ctdb_context *ctdb, struct ctdb_req_header *hdr)
/* if this nodes has done enough consecutive calls on the same record
then give them the record */
if (header.laccessor == c->hdr.srcnode &&
- header.lacount >= CTDB_MAX_LACOUNT) {
+ header.lacount >= ctdb->max_lacount) {
ctdb_call_send_dmaster(ctdb, c, &header, &key, &data);
talloc_free(data.dptr);
return;