Move maintainence thread func take u64 rather than int

signed rollover is UB
This commit is contained in:
Antonio SJ Musumeci 2026-03-20 15:48:10 -05:00
parent 849a819545
commit 396f6e8109
3 changed files with 8 additions and 6 deletions

View file

@ -1,5 +1,7 @@
#pragma once
#include "base_types.h"
#include <functional>
#include <vector>
@ -9,5 +11,5 @@ class MaintenanceThread
public:
static void setup();
static void stop();
static void push_job(const std::function<void(int)> &func);
static void push_job(const std::function<void(u64)> &func);
};

View file

@ -3674,19 +3674,19 @@ fuse_gc1()
void
fuse_populate_maintenance_thread(struct fuse *f_)
{
MaintenanceThread::push_job([=](int count_)
MaintenanceThread::push_job([=](u64 count_)
{
if(remember_nodes())
fuse_prune_remembered_nodes();
});
MaintenanceThread::push_job([](int count_)
MaintenanceThread::push_job([](u64 count_)
{
if((count_ % 15) == 0)
fuse_gc1();
});
MaintenanceThread::push_job([=](int count_)
MaintenanceThread::push_job([=](u64 count_)
{
if(fuse_cfg.debug)
metrics_log_nodes_info_to_tmp_dir(f_);

View file

@ -9,7 +9,7 @@
#include <unistd.h>
static pthread_t g_thread;
static std::vector<std::function<void(int)>> g_funcs;
static std::vector<std::function<void(u64)>> g_funcs;
static mutex_t g_mutex;
static
@ -49,7 +49,7 @@ MaintenanceThread::setup()
}
void
MaintenanceThread::push_job(const std::function<void(int)> &func_)
MaintenanceThread::push_job(const std::function<void(u64)> &func_)
{
LockGuard lg(g_mutex);