I notice the kdump initramfs get rebuilt whenever kdump.serivce is restarted,
The xtrace logs shows kdumpctl is misled to believe there is a change in file system,
+ [[ /sysroot == /kdumproot/var ]]
+ dinfo 'Detected change in File System'
I think the problem is get_block_dump_target doesn't support btrfs subvolume thus it returns /sysroot instead of /kdumproot/var,
check_fs_modified()
{
_target=$(get_block_dump_target)
....
if echo "$_dracut_args" | grep -q -- "--mount"; then
# shellcheck disable=SC2046
set -- $(echo "$_dracut_args" | awk -F "--mount '" '{print $2}' | cut -d' ' -f1,2,3)
_old_dev=$1
_old_mntpoint=$2
...
[[ $_new_dev == "$_old_dev" && $_new_mntpoint == "$_old_mntpoint" && $_new_fstype == "$_old_fstype" ]] && return 0
fi
dinfo "Detected change in File System"
return 1