diff options
author | Yaniv Kaul <ykaul@redhat.com> | 2019-12-09 21:28:00 +0200 |
---|---|---|
committer | Amar Tumballi <amarts@gmail.com> | 2020-01-14 17:11:22 +0000 |
commit | 9969d1dc2a3e815b161ce8a3dc5d08f84cfe011f (patch) | |
tree | 4ee28dd04d0a16d6057a7913455d9b3e0df5b61d /xlators/debug | |
parent | dc5b2d3c181020da1644106e5b17f77a4f3e53df (diff) |
multiple xlators: reduce key length
In many cases, we were freely allocating long keys with no need.
Smaller char arrays are just fine almost anywhere, so just went ahead
and looked where they we can use smaller ones.
In some cases, annotated the functions as static and the prefixes
passed as const as it was easier to read and understand.
Where relevant, converted the dict functions to use known key length.
Change-Id: I882ab33ea20d90b63278336cd1370c09ffdab7f2
updates: bz#1193929
Signed-off-by: Yaniv Kaul <ykaul@redhat.com>
Diffstat (limited to 'xlators/debug')
-rw-r--r-- | xlators/debug/io-stats/src/io-stats.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c index 9d3a9638d0c..4e1f6e5af07 100644 --- a/xlators/debug/io-stats/src/io-stats.c +++ b/xlators/debug/io-stats/src/io-stats.c @@ -1384,7 +1384,7 @@ io_stats_dump_global_to_dict(xlator_t *this, struct ios_global_stats *stats, struct timeval *now, int interval, dict_t *dict) { int ret = 0; - char key[256] = {0}; + char key[64] = {0}; uint64_t sec = 0; int i = 0; uint64_t count = 0; @@ -1802,7 +1802,8 @@ io_stats_dump_stats_to_dict(xlator_t *this, dict_t *resp, { struct ios_conf *conf = NULL; int cnt = 0; - char key[256]; + char key[32]; + int keylen; struct ios_stat_head *list_head = NULL; struct ios_stat_list *entry = NULL; int ret = -1; @@ -1873,7 +1874,7 @@ io_stats_dump_stats_to_dict(xlator_t *this, dict_t *resp, default: goto out; } - ret = dict_set_int32(resp, "top-op", flags); + ret = dict_set_int32_sizen(resp, "top-op", flags); if (!list_cnt) goto out; LOCK(&list_head->lock); @@ -1881,24 +1882,24 @@ io_stats_dump_stats_to_dict(xlator_t *this, dict_t *resp, list_for_each_entry(entry, &list_head->iosstats->list, list) { cnt++; - snprintf(key, 256, "%s-%d", "filename", cnt); - ret = dict_set_str(resp, key, entry->iosstat->filename); + keylen = snprintf(key, sizeof(key), "filename-%d", cnt); + ret = dict_set_strn(resp, key, keylen, entry->iosstat->filename); if (ret) goto unlock_list_head; - snprintf(key, 256, "%s-%d", "value", cnt); + snprintf(key, sizeof(key), "value-%d", cnt); ret = dict_set_uint64(resp, key, entry->value); if (ret) goto unlock_list_head; if (index != IOS_STATS_THRU_MAX) { - snprintf(key, 256, "%s-%d", "time-sec", cnt); - ret = dict_set_int32( - resp, key, + keylen = snprintf(key, sizeof(key), "time-sec-%d", cnt); + ret = dict_set_int32n( + resp, key, keylen, entry->iosstat->thru_counters[index].time.tv_sec); if (ret) goto unlock_list_head; - snprintf(key, 256, "%s-%d", "time-usec", cnt); - ret = dict_set_int32( - resp, key, + keylen = snprintf(key, sizeof(key), "time-usec-%d", cnt); + ret = dict_set_int32n( + resp, key, keylen, entry->iosstat->thru_counters[index].time.tv_usec); if (ret) goto unlock_list_head; @@ -1913,7 +1914,7 @@ unlock_list_head: * failed. */ if (ret) goto out; - ret = dict_set_int32(resp, "members", cnt); + ret = dict_set_int32_sizen(resp, "members", cnt); out: return ret; } |