]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
filestore: fix global counter init in unix socket mode
authorJason Ish <jason.ish@oisf.net>
Fri, 18 Dec 2020 17:34:30 +0000 (11:34 -0600)
committerVictor Julien <victor@inliniac.net>
Sat, 27 Feb 2021 19:48:49 +0000 (20:48 +0100)
Move initialization of filestore global counter to PreRunInit,
so they get registered during program initialization, or as
required in unix-socket mode, initialized for each file run.

Fixes Redmine issue:
https://redmine.openinfosecfoundation.org/issues/4216

src/output-filestore.c
src/output-filestore.h
src/suricata.c

index 00ae764a272fbff9cf360aa00a3b94f1f3011438..a1b5ece5dcfefa1d5ecd6e37a1cb92b5b9d02970 100644 (file)
@@ -525,9 +525,6 @@ static OutputInitResult OutputFilestoreLogInitCtx(ConfNode *conf)
         }
     }
 
-    StatsRegisterGlobalCounter("file_store.open_files",
-            OutputFilestoreOpenFilesCounter);
-
     result.ctx = output_ctx;
     result.ok = true;
     SCReturnCT(result, "OutputInitResult");
@@ -543,3 +540,8 @@ void OutputFilestoreRegister(void)
     SC_ATOMIC_INIT(filestore_open_file_cnt);
     SC_ATOMIC_SET(filestore_open_file_cnt, 0);
 }
+
+void OutputFilestoreRegisterGlobalCounters(void)
+{
+    StatsRegisterGlobalCounter("file_store.open_files", OutputFilestoreOpenFilesCounter);
+}
index 645e1bfc1169716af1f4705fda657ad12d627367..33cd9713186bd70ecae9df4bb69302cb1b819fba 100644 (file)
@@ -20,5 +20,6 @@
 
 void OutputFilestoreRegister(void);
 void OutputFilestoreInitConfig(void);
+void OutputFilestoreRegisterGlobalCounters(void);
 
 #endif /* __OUTPUT_FILESTORE_H__ */
index 7b3491fe2e854c1e31a353c0cac7495ec49b8a19..c2ba5e3cc06a6247a0a10c63f03a64556c21548e 100644 (file)
 #include "app-layer-smb.h"
 #include "app-layer-dcerpc.h"
 
+#include "output-filestore.h"
+
 #include "util-ebpf.h"
 #include "util-radix-tree.h"
 #include "util-host-os-info.h"
@@ -2015,6 +2017,7 @@ void PreRunInit(const int runmode)
     StreamTcpInitConfig(STREAM_VERBOSE);
     AppLayerParserPostStreamSetup();
     AppLayerRegisterGlobalCounters();
+    OutputFilestoreRegisterGlobalCounters();
 }
 
 /* tasks we need to run before packets start flowing,