From e0b36f2865900c10280e6cedd0b916a55ebbe6ab Mon Sep 17 00:00:00 2001 From: Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> Date: Tue, 26 Sep 2023 18:45:52 +0300 Subject: Switch to uint64_t to avoid overflow in 32bit systems (#16048) --- database/contexts/api_v2.c | 4 ++-- database/engine/rrdengineapi.c | 4 ++-- database/engine/rrdengineapi.h | 4 ++-- database/rrd.h | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) (limited to 'database') diff --git a/database/contexts/api_v2.c b/database/contexts/api_v2.c index ff977f7384..5f904718fa 100644 --- a/database/contexts/api_v2.c +++ b/database/contexts/api_v2.c @@ -1009,8 +1009,8 @@ void buffer_json_agents_v2(BUFFER *wb, struct query_timings *timings, time_t now STORAGE_ENGINE *eng = localhost->db[tier].eng; if (!eng) continue; - size_t max = storage_engine_disk_space_max(eng->backend, localhost->db[tier].instance); - size_t used = storage_engine_disk_space_used(eng->backend, localhost->db[tier].instance); + uint64_t max = storage_engine_disk_space_max(eng->backend, localhost->db[tier].instance); + uint64_t used = storage_engine_disk_space_used(eng->backend, localhost->db[tier].instance); time_t first_time_s = storage_engine_global_first_time_s(eng->backend, localhost->db[tier].instance); size_t currently_collected_metrics = storage_engine_collected_metrics(eng->backend, localhost->db[tier].instance); diff --git a/database/engine/rrdengineapi.c b/database/engine/rrdengineapi.c index 826da6326d..318a933f1b 100755 --- a/database/engine/rrdengineapi.c +++ b/database/engine/rrdengineapi.c @@ -1008,12 +1008,12 @@ bool rrdeng_metric_retention_by_uuid(STORAGE_INSTANCE *db_instance, uuid_t *dim_ return true; } -size_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance) { +uint64_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance) { struct rrdengine_instance *ctx = (struct rrdengine_instance *)db_instance; return ctx->config.max_disk_space; } -size_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance) { +uint64_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance) { struct rrdengine_instance *ctx = (struct rrdengine_instance *)db_instance; return __atomic_load_n(&ctx->atomic.current_disk_space, __ATOMIC_RELAXED); } diff --git a/database/engine/rrdengineapi.h b/database/engine/rrdengineapi.h index 12f1becd17..61449426ff 100644 --- a/database/engine/rrdengineapi.h +++ b/database/engine/rrdengineapi.h @@ -222,7 +222,7 @@ RRDENG_SIZE_STATS rrdeng_size_statistics(struct rrdengine_instance *ctx); size_t rrdeng_collectors_running(struct rrdengine_instance *ctx); bool rrdeng_is_legacy(STORAGE_INSTANCE *db_instance); -size_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance); -size_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance); +uint64_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance); +uint64_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance); #endif /* NETDATA_RRDENGINEAPI_H */ diff --git a/database/rrd.h b/database/rrd.h index 543f2021ab..b8a9a69c21 100644 --- a/database/rrd.h +++ b/database/rrd.h @@ -454,8 +454,8 @@ static inline void storage_engine_store_metric( count, anomaly_count, flags); } -size_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance); -static inline size_t storage_engine_disk_space_max(STORAGE_ENGINE_BACKEND backend __maybe_unused, STORAGE_INSTANCE *db_instance __maybe_unused) { +uint64_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance); +static inline uint64_t storage_engine_disk_space_max(STORAGE_ENGINE_BACKEND backend __maybe_unused, STORAGE_INSTANCE *db_instance __maybe_unused) { #ifdef ENABLE_DBENGINE if(likely(backend == STORAGE_ENGINE_BACKEND_DBENGINE)) return rrdeng_disk_space_max(db_instance); @@ -464,7 +464,7 @@ static inline size_t storage_engine_disk_space_max(STORAGE_ENGINE_BACKEND backen return 0; } -size_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance); +uint64_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance); static inline size_t storage_engine_disk_space_used(STORAGE_ENGINE_BACKEND backend __maybe_unused, STORAGE_INSTANCE *db_instance __maybe_unused) { #ifdef ENABLE_DBENGINE if(likely(backend == STORAGE_ENGINE_BACKEND_DBENGINE)) -- cgit v1.2.3