diff options
| author | Amitay Isaacs <amitay@gmail.com> | 2014-08-15 13:33:24 +1000 |
|---|---|---|
| committer | Martin Schwenke <martins@samba.org> | 2014-09-05 07:05:10 +0200 |
| commit | deb7bb89b3844f209ef73cc5707fcb4673bf08d7 (patch) | |
| tree | 0f2dc8a128d711a95821d0f25b7c5e0cc9fd4d92 | |
| parent | bd133894672fcf3c79868605466ba7b527af3018 (diff) | |
ctdb-daemon: Remove duplicate code with refactored function
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Reviewed-by: Martin Schwenke <martin@meltin.net>
| -rw-r--r-- | ctdb/server/ctdb_call.c | 15 | ||||
| -rw-r--r-- | ctdb/server/ctdb_daemon.c | 10 |
2 files changed, 5 insertions, 20 deletions
diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c index 901e5859a4..cbbfc59d63 100644 --- a/ctdb/server/ctdb_call.c +++ b/ctdb/server/ctdb_call.c @@ -281,16 +281,13 @@ ctdb_set_sticky_pindown(struct ctdb_context *ctdb, struct ctdb_db_context *ctdb_ uint32_t *k; struct ctdb_sticky_record *sr; - k = talloc_zero_size(tmp_ctx, ((key.dsize + 3) & 0xfffffffc) + 4); + k = ctdb_key_to_idkey(tmp_ctx, key); if (k == NULL) { DEBUG(DEBUG_ERR,("Failed to allocate key for sticky record\n")); talloc_free(tmp_ctx); return -1; } - k[0] = (key.dsize + 3) / 4 + 1; - memcpy(&k[1], key.dptr, key.dsize); - sr = trbt_lookuparray32(ctdb_db->sticky_records, k[0], &k[0]); if (sr == NULL) { talloc_free(tmp_ctx); @@ -538,16 +535,13 @@ ctdb_make_record_sticky(struct ctdb_context *ctdb, struct ctdb_db_context *ctdb_ uint32_t *k; struct ctdb_sticky_record *sr; - k = talloc_zero_size(tmp_ctx, ((key.dsize + 3) & 0xfffffffc) + 4); + k = ctdb_key_to_idkey(tmp_ctx, key); if (k == NULL) { DEBUG(DEBUG_ERR,("Failed to allocate key for sticky record\n")); talloc_free(tmp_ctx); return -1; } - k[0] = (key.dsize + 3) / 4 + 1; - memcpy(&k[1], key.dptr, key.dsize); - sr = trbt_lookuparray32(ctdb_db->sticky_records, k[0], &k[0]); if (sr != NULL) { talloc_free(tmp_ctx); @@ -621,16 +615,13 @@ ctdb_defer_pinned_down_request(struct ctdb_context *ctdb, struct ctdb_db_context struct ctdb_sticky_record *sr; struct pinned_down_deferred_call *pinned_down; - k = talloc_zero_size(tmp_ctx, ((key.dsize + 3) & 0xfffffffc) + 4); + k = ctdb_key_to_idkey(tmp_ctx, key); if (k == NULL) { DEBUG(DEBUG_ERR,("Failed to allocate key for sticky record\n")); talloc_free(tmp_ctx); return -1; } - k[0] = (key.dsize + 3) / 4 + 1; - memcpy(&k[1], key.dptr, key.dsize); - sr = trbt_lookuparray32(ctdb_db->sticky_records, k[0], &k[0]); if (sr == NULL) { talloc_free(tmp_ctx); diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c index da2f42e9a9..a9a0b8d3ef 100644 --- a/ctdb/server/ctdb_daemon.c +++ b/ctdb/server/ctdb_daemon.c @@ -504,15 +504,12 @@ static int setup_deferred_fetch_locks(struct ctdb_db_context *ctdb_db, struct ct uint32_t *k; struct ctdb_deferred_fetch_queue *dfq; - k = talloc_zero_size(call, ((call->key.dsize + 3) & 0xfffffffc) + 4); + k = ctdb_key_to_idkey(call, call->key); if (k == NULL) { DEBUG(DEBUG_ERR,("Failed to allocate key for deferred fetch\n")); return -1; } - k[0] = (call->key.dsize + 3) / 4 + 1; - memcpy(&k[1], call->key.dptr, call->key.dsize); - dfq = talloc(call, struct ctdb_deferred_fetch_queue); if (dfq == NULL) { DEBUG(DEBUG_ERR,("Failed to allocate key for deferred fetch queue structure\n")); @@ -543,15 +540,12 @@ static int requeue_duplicate_fetch(struct ctdb_db_context *ctdb_db, struct ctdb_ struct ctdb_deferred_fetch_queue *dfq; struct ctdb_deferred_fetch_call *dfc; - k = talloc_zero_size(c, ((key.dsize + 3) & 0xfffffffc) + 4); + k = ctdb_key_to_idkey(c, key); if (k == NULL) { DEBUG(DEBUG_ERR,("Failed to allocate key for deferred fetch\n")); return -1; } - k[0] = (key.dsize + 3) / 4 + 1; - memcpy(&k[1], key.dptr, key.dsize); - dfq = trbt_lookuparray32(ctdb_db->deferred_fetch, k[0], &k[0]); if (dfq == NULL) { talloc_free(k); |
