@cryptotaxi247 / netdata-1 / commits / e0b36f286

Switch to uint64_t to avoid overflow in 32bit systems (#16048)

Stelios Fragkakis committed Sep 26, 2023 at 18:45 UTC e0b36f2865900c10280e6cedd0b916a55ebbe6ab
4 files changed +9 -9
database/contexts/api_v2.c
+2 -2
@@ -1009,8 +1009,8 @@ void buffer_json_agents_v2(BUFFER *wb, struct query_timings *timings, time_t now
1009 STORAGE_ENGINE *eng = localhost->db[tier].eng;
1010 if (!eng) continue;
1011
1012 - size_t max = storage_engine_disk_space_max(eng->backend, localhost->db[tier].instance);
1013 - size_t used = storage_engine_disk_space_used(eng->backend, localhost->db[tier].instance);
1012 + uint64_t max = storage_engine_disk_space_max(eng->backend, localhost->db[tier].instance);
1013 + uint64_t used = storage_engine_disk_space_used(eng->backend, localhost->db[tier].instance);
1014 time_t first_time_s = storage_engine_global_first_time_s(eng->backend, localhost->db[tier].instance);
1015 size_t currently_collected_metrics = storage_engine_collected_metrics(eng->backend, localhost->db[tier].instance);
1016
database/engine/rrdengineapi.c
+2 -2
@@ -1008,12 +1008,12 @@ bool rrdeng_metric_retention_by_uuid(STORAGE_INSTANCE *db_instance, uuid_t *dim_
1008 return true;
1009 }
1010
1011 -size_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance) {
1011 +uint64_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance) {
1012 struct rrdengine_instance *ctx = (struct rrdengine_instance *)db_instance;
1013 return ctx->config.max_disk_space;
1014 }
1015
1016 -size_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance) {
1016 +uint64_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance) {
1017 struct rrdengine_instance *ctx = (struct rrdengine_instance *)db_instance;
1018 return __atomic_load_n(&ctx->atomic.current_disk_space, __ATOMIC_RELAXED);
1019 }
database/engine/rrdengineapi.h
+2 -2
@@ -222,7 +222,7 @@ RRDENG_SIZE_STATS rrdeng_size_statistics(struct rrdengine_instance *ctx);
222 size_t rrdeng_collectors_running(struct rrdengine_instance *ctx);
223 bool rrdeng_is_legacy(STORAGE_INSTANCE *db_instance);
224
225 -size_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance);
226 -size_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance);
225 +uint64_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance);
226 +uint64_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance);
227
228 #endif /* NETDATA_RRDENGINEAPI_H */
database/rrd.h
+3 -3
@@ -454,8 +454,8 @@ static inline void storage_engine_store_metric(
454 count, anomaly_count, flags);
455 }
456
457 -size_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance);
458 -static inline size_t storage_engine_disk_space_max(STORAGE_ENGINE_BACKEND backend __maybe_unused, STORAGE_INSTANCE *db_instance __maybe_unused) {
457 +uint64_t rrdeng_disk_space_max(STORAGE_INSTANCE *db_instance);
458 +static inline uint64_t storage_engine_disk_space_max(STORAGE_ENGINE_BACKEND backend __maybe_unused, STORAGE_INSTANCE *db_instance __maybe_unused) {
459 #ifdef ENABLE_DBENGINE
460 if(likely(backend == STORAGE_ENGINE_BACKEND_DBENGINE))
461 return rrdeng_disk_space_max(db_instance);
@@ -464,7 +464,7 @@ static inline size_t storage_engine_disk_space_max(STORAGE_ENGINE_BACKEND backen
464 return 0;
465 }
466
467 -size_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance);
467 +uint64_t rrdeng_disk_space_used(STORAGE_INSTANCE *db_instance);
468 static inline size_t storage_engine_disk_space_used(STORAGE_ENGINE_BACKEND backend __maybe_unused, STORAGE_INSTANCE *db_instance __maybe_unused) {
469 #ifdef ENABLE_DBENGINE
470 if(likely(backend == STORAGE_ENGINE_BACKEND_DBENGINE))