Commit 6d8f4833 authored by Michal Berger's avatar Michal Berger Committed by Tomasz Zawadzki
Browse files

scripts/core-collector: Add coredump_filter map to .json



This is done to make clear what data is included with the core dump.

Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Change-Id: I67f7da7f342354df4688147eaf56283b33ba2863
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15996


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent 9545f9ac
Loading
Loading
Loading
Loading
+26 −1
Original line number Diff line number Diff line
@@ -18,7 +18,8 @@ core_meta() {
		    "PID": $core_pid,
		    "signal": "$core_sig ($core_sig_name)",
		    "path": "$exe_path",
		    "statm": "$statm"
		    "statm": "$statm",
		    "filter": "$(coredump_filter)"
		  }
		}
	CORE
@@ -31,6 +32,30 @@ stderr() {
	set -x
}

coredump_filter() {
	local bitmap bit
	local _filter filter

	bitmap[0]=anon-priv-mappings
	bitmap[1]=anon-shared-mappings
	bitmap[2]=file-priv-mappings
	bitmap[3]=file-shared-mappings
	bitmap[4]=elf-headers
	bitmap[5]=priv-hp
	bitmap[6]=shared-hp
	bitmap[7]=priv-DAX
	bitmap[8]=shared-DAX

	_filter=0x$(< "/proc/$core_pid/coredump_filter")

	for bit in "${!bitmap[@]}"; do
		((_filter & 1 << bit)) || continue
		filter=${filter:+$filter,}${bitmap[bit]}
	done

	echo "$filter"
}

args+=(core_pid)
args+=(core_sig)
args+=(core_ts)