From faf800d871b72ca4938c5f392d8b6183cce16e9d Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 19 Jan 2007 04:32:04 +0000 Subject: r20896: make the maximum lacount configurable in smb.conf at the moment the brlock_ctdb backend will sometimes fail after dmaster migrations. So to pass tests this needs to be set high. Thats a priority to fix. (This used to be commit 45f5c272f366f6a793941d97c9522c5b2b0cb639) --- source4/cluster/ctdb/common/ctdb.c | 8 ++++++++ source4/cluster/ctdb/common/ctdb_call.c | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'source4/cluster/ctdb/common') 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; -- cgit