From: Willy Tarreau Date: Thu, 21 May 2026 06:50:20 +0000 (+0200) Subject: MINOR: config: shm-stats-file is no longer experimental X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=050e06dd669adb7dd867a3c429c4186e44694638;p=thirdparty%2Fhaproxy.git MINOR: config: shm-stats-file is no longer experimental As confirmed by Aurélien, there isn't any point in keeping this feature in experimental status, it's now stable. --- diff --git a/doc/configuration.txt b/doc/configuration.txt index 34ac0c805..2585c8505 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -3329,7 +3329,7 @@ setenv the configuration file sees the new value. See also "presetenv", "resetenv", and "unsetenv". -shm-stats-file [ EXPERIMENTAL ] +shm-stats-file When this directive is set, it enables the use of shared memory for storing stats counters. is used as argument to shm_open() to open the shared memory at a unique location. It also means that the directive is only @@ -3345,7 +3345,7 @@ shm-stats-file [ EXPERIMENTAL ] See also "guid", "guid-prefix" and "shm-stats-file-max-objects" -shm-stats-file-max-objects [ EXPERIMENTAL ] +shm-stats-file-max-objects This setting defines the maximum number of objects the shared memory used for shared counters will be able to store per thread group. It is directly related to the maximum memory size of the shm and is used to "premap" the diff --git a/src/cfgparse-global.c b/src/cfgparse-global.c index 882387c2c..e10117c00 100644 --- a/src/cfgparse-global.c +++ b/src/cfgparse-global.c @@ -1629,11 +1629,6 @@ static int cfg_parse_global_shm_stats_file(char **args, int section_type, struct proxy *curpx, const struct proxy *defpx, const char *file, int line, char **err) { - if (!experimental_directives_allowed) { - memprintf(err, "'%s' directive is experimental, must be allowed via a global 'expose-experimental-directives'", args[0]); - return -1; - } - if (global.shm_stats_file != NULL) { memprintf(err, "'%s' already specified.\n", args[0]); return -1; @@ -1644,7 +1639,6 @@ static int cfg_parse_global_shm_stats_file(char **args, int section_type, return -1; } - mark_tainted(TAINTED_CONFIG_EXP_KW_DECLARED); global.shm_stats_file = strdup(args[1]); return 0; } @@ -1653,11 +1647,6 @@ static int cfg_parse_global_shm_stats_file_max_objects(char **args, int section_ struct proxy *curpx, const struct proxy *defpx, const char *file, int line, char **err) { - if (!experimental_directives_allowed) { - memprintf(err, "'%s' directive is experimental, must be allowed via a global 'expose-experimental-directives'", args[0]); - return -1; - } - if (shm_stats_file_max_objects != -1) { memprintf(err, "'%s' already specified.\n", args[0]); return -1; @@ -1668,7 +1657,6 @@ static int cfg_parse_global_shm_stats_file_max_objects(char **args, int section_ return -1; } - mark_tainted(TAINTED_CONFIG_EXP_KW_DECLARED); shm_stats_file_max_objects = atoi(args[1]); return 0; }