diff options
author | Amitay Isaacs <amitay@gmail.com> | 2013-06-25 15:25:16 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@gmail.com> | 2013-07-10 14:33:18 +1000 |
commit | d36aa928fd3bbdd55d429bb5abe4a67c0f875a8d (patch) | |
tree | ce37e71241216c5cb8cd29749e3021ef17eb4062 /ctdb/server/ctdb_ltdb_server.c | |
parent | c0798dfb6429ab8665db0ee69140ff881506384d (diff) | |
download | samba-d36aa928fd3bbdd55d429bb5abe4a67c0f875a8d.tar.gz samba-d36aa928fd3bbdd55d429bb5abe4a67c0f875a8d.tar.xz samba-d36aa928fd3bbdd55d429bb5abe4a67c0f875a8d.zip |
ctdbd: Remove incomplete ctdb_db_statistics_wire structure
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)
Diffstat (limited to 'ctdb/server/ctdb_ltdb_server.c')
-rw-r--r-- | ctdb/server/ctdb_ltdb_server.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/ctdb/server/ctdb_ltdb_server.c b/ctdb/server/ctdb_ltdb_server.c index d7f741b62c2..c8715ee4254 100644 --- a/ctdb/server/ctdb_ltdb_server.c +++ b/ctdb/server/ctdb_ltdb_server.c @@ -1498,55 +1498,3 @@ int ctdb_set_db_sticky(struct ctdb_context *ctdb, struct ctdb_db_context *ctdb_d return 0; } - -int32_t ctdb_control_get_db_statistics(struct ctdb_context *ctdb, - uint32_t db_id, - TDB_DATA *outdata) -{ - struct ctdb_db_context *ctdb_db; - struct ctdb_db_statistics_wire *stats; - int i; - int len; - char *ptr; - - ctdb_db = find_ctdb_db(ctdb, db_id); - if (!ctdb_db) { - DEBUG(DEBUG_ERR,("Unknown db_id 0x%x in get_db_statistics\n", db_id)); - return -1; - } - - len = offsetof(struct ctdb_db_statistics_wire, hot_keys); - for (i = 0; i < MAX_HOT_KEYS; i++) { - len += 8 + ctdb_db->statistics.hot_keys[i].key.dsize; - } - - stats = talloc_size(outdata, len); - if (stats == NULL) { - DEBUG(DEBUG_ERR,("Failed to allocate db statistics wire structure\n")); - return -1; - } - - stats->db_ro_delegations = ctdb_db->statistics.db_ro_delegations; - stats->db_ro_revokes = ctdb_db->statistics.db_ro_revokes; - for (i = 0; i < MAX_COUNT_BUCKETS; i++) { - stats->hop_count_bucket[i] = ctdb_db->statistics.hop_count_bucket[i]; - } - stats->num_hot_keys = MAX_HOT_KEYS; - - ptr = &stats->hot_keys[0]; - for (i = 0; i < MAX_HOT_KEYS; i++) { - *(uint32_t *)ptr = ctdb_db->statistics.hot_keys[i].count; - ptr += 4; - - *(uint32_t *)ptr = ctdb_db->statistics.hot_keys[i].key.dsize; - ptr += 4; - - memcpy(ptr, ctdb_db->statistics.hot_keys[i].key.dptr, ctdb_db->statistics.hot_keys[i].key.dsize); - ptr += ctdb_db->statistics.hot_keys[i].key.dsize; - } - - outdata->dptr = (uint8_t *)stats; - outdata->dsize = len; - - return 0; -} |