From 396f6e810980d2e76dba71d660b44c0ccca753e8 Mon Sep 17 00:00:00 2001 From: Antonio SJ Musumeci Date: Fri, 20 Mar 2026 15:48:10 -0500 Subject: [PATCH] Move maintainence thread func take u64 rather than int signed rollover is UB --- vendored/libfuse/include/maintenance_thread.hpp | 4 +++- vendored/libfuse/lib/fuse.cpp | 6 +++--- vendored/libfuse/lib/maintenance_thread.cpp | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/vendored/libfuse/include/maintenance_thread.hpp b/vendored/libfuse/include/maintenance_thread.hpp index 3df21a38..a013e0c6 100644 --- a/vendored/libfuse/include/maintenance_thread.hpp +++ b/vendored/libfuse/include/maintenance_thread.hpp @@ -1,5 +1,7 @@ #pragma once +#include "base_types.h" + #include #include @@ -9,5 +11,5 @@ class MaintenanceThread public: static void setup(); static void stop(); - static void push_job(const std::function &func); + static void push_job(const std::function &func); }; diff --git a/vendored/libfuse/lib/fuse.cpp b/vendored/libfuse/lib/fuse.cpp index 59a305e1..e407fb10 100644 --- a/vendored/libfuse/lib/fuse.cpp +++ b/vendored/libfuse/lib/fuse.cpp @@ -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_); diff --git a/vendored/libfuse/lib/maintenance_thread.cpp b/vendored/libfuse/lib/maintenance_thread.cpp index f5f08c27..0fca690d 100644 --- a/vendored/libfuse/lib/maintenance_thread.cpp +++ b/vendored/libfuse/lib/maintenance_thread.cpp @@ -9,7 +9,7 @@ #include static pthread_t g_thread; -static std::vector> g_funcs; +static std::vector> g_funcs; static mutex_t g_mutex; static @@ -49,7 +49,7 @@ MaintenanceThread::setup() } void -MaintenanceThread::push_job(const std::function &func_) +MaintenanceThread::push_job(const std::function &func_) { LockGuard lg(g_mutex);