From ff4e41531f71d35d0682cb0ef2002bd25b156a05 Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Sat, 15 Oct 2022 12:57:05 +0800 Subject: [PATCH] check: optionally compress core dumps Add a new option, COREDUMP_COMPRESSOR, that will be used to compress core dumps collected during a fstests run. The program specified must accept the -f -9 arguments that gzip has. --- README | 4 ++++ common/rc | 14 +++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/README b/README index 80d148be..4c4f22f8 100644 --- a/README +++ b/README @@ -212,6 +212,10 @@ Tools specification: - Set FSSTRESS_AVOID and/or FSX_AVOID, which contain options added to the end of fsstresss and fsx invocations, respectively, in case you wish to exclude certain operational modes from these tests. + - core dumps: + - Set COREDUMP_COMPRESSOR to a compression program to compress crash dumps. + This program must accept '-f' and the name of a file to compress. In + other words, it must emulate gzip. Kernel/Modules related configuration: - Set TEST_FS_MODULE_RELOAD=1 to unload the module and reload it between diff --git a/common/rc b/common/rc index 1a0f167f..f4785c17 100644 --- a/common/rc +++ b/common/rc @@ -4962,13 +4962,17 @@ _save_coredump() local core_hash="$(_md5_checksum "$path")" local out_file="${seqres}.core.${core_hash}" - if [ -s "$out_file" ]; then - rm -f "$path" - return - fi - rm -f "$out_file" + for dump in "$out_file"*; do + if [ -s "$dump" ]; then + rm -f "$path" + return 0 + fi + done mv "$path" "$out_file" + test -z "$COREDUMP_COMPRESSOR" && return 0 + + $COREDUMP_COMPRESSOR -f "$out_file" } init_rc -- 2.39.5