From: Rémi Palancher <[email protected]> The macro BUFFER_SIZE used by sacctmgr was set to 4KB. This macro is used by load_sacctmgr_cfg_file() in src/sacctmgr/file_functions.c to set the size of the buffer which stores the lines read in dump files that could be loaded by sacctmgr (notably the ones generated by `sacctmgr dump`).
This size of 4KB is too small for very long lines that could be present in theses files. For instance, this bug was encountered with a 236763B User line full of many WCKeys. This commit proposes to increase its size to 512KB. This is obviously not a general solution but it should cover most use cases. The macro definition is also removed of src/sacctmgr/sacctmgr.c since it was useless in this file. Signed-off-by: Rémi Palancher <[email protected]> --- src/sacctmgr/sacctmgr.c | 2 -- src/sacctmgr/sacctmgr.h | 2 +- 2 files changed, 1 insertions(+), 3 deletions(-) diff --git a/src/sacctmgr/sacctmgr.c b/src/sacctmgr/sacctmgr.c index cd27722..1b1af40 100644 --- a/src/sacctmgr/sacctmgr.c +++ b/src/sacctmgr/sacctmgr.c @@ -43,8 +43,6 @@ #include "src/common/xsignal.h" #include "src/common/proc_args.h" -#define BUFFER_SIZE 4096 - char *command_name; int exit_code; /* sacctmgr's exit code, =1 on any error at any time */ int exit_flag; /* program to terminate if =1 */ diff --git a/src/sacctmgr/sacctmgr.h b/src/sacctmgr/sacctmgr.h index f6068d1..974a3ba 100644 --- a/src/sacctmgr/sacctmgr.h +++ b/src/sacctmgr/sacctmgr.h @@ -86,7 +86,7 @@ #define CKPT_WAIT 10 #define MAX_INPUT_FIELDS 128 -#define BUFFER_SIZE 4096 +#define BUFFER_SIZE 524288 typedef enum { /* COMMON */ -- 1.7.2.5
