Merged update from upstream sources
This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/kexec-tools.git#fc703518525dc85b88873120f2bcf7bffa682735
This commit is contained in:
parent
7d0122bd5d
commit
6333173003
@ -105,10 +105,12 @@ dump_raw()
|
||||
|
||||
dump_ssh()
|
||||
{
|
||||
local ret
|
||||
local _ret=0
|
||||
local _exitcode=0 _exitcode2=0
|
||||
local _opt="-i $1 -o BatchMode=yes -o StrictHostKeyChecking=yes"
|
||||
local _dir="$KDUMP_PATH/$HOST_IP-$DATEDIR"
|
||||
local _host=$2
|
||||
local _vmcore="vmcore"
|
||||
|
||||
dinfo "saving to $_host:$_dir"
|
||||
|
||||
@ -122,25 +124,36 @@ dump_ssh()
|
||||
|
||||
if [ "${CORE_COLLECTOR%%[[:blank:]]*}" = "scp" ]; then
|
||||
scp -q $_opt /proc/vmcore "$_host:$_dir/vmcore-incomplete"
|
||||
ret=$?
|
||||
save_log
|
||||
scp -q $_opt $KDUMP_LOG_FILE "$_host:$_dir/"
|
||||
if [ $ret -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/vmcore" || return 1
|
||||
_exitcode=$?
|
||||
else
|
||||
$CORE_COLLECTOR /proc/vmcore | ssh $_opt $_host "dd bs=512 of=$_dir/vmcore-incomplete"
|
||||
ret=$?
|
||||
save_log
|
||||
scp -q $_opt $KDUMP_LOG_FILE "$_host:$_dir/"
|
||||
if [ $ret -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/vmcore.flat" || return 1
|
||||
_exitcode=$?
|
||||
_vmcore="vmcore.flat"
|
||||
fi
|
||||
|
||||
if [ $_exitcode -eq 0 ]; then
|
||||
ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/$_vmcore"
|
||||
_exitcode2=$?
|
||||
if [ $_exitcode2 -ne 0 ]; then
|
||||
derror "moving vmcore failed, _exitcode:$_exitcode2"
|
||||
else
|
||||
dinfo "saving vmcore complete"
|
||||
fi
|
||||
else
|
||||
derror "saving vmcore failed, _exitcode:$_exitcode"
|
||||
fi
|
||||
|
||||
save_log
|
||||
scp -q $_opt $KDUMP_LOG_FILE "$_host:$_dir/"
|
||||
_ret=$?
|
||||
if [ $_ret -ne 0 ]; then
|
||||
derror "saving log file failed, _exitcode:$_ret"
|
||||
fi
|
||||
|
||||
if [ $_exitcode -ne 0 ] || [ $_exitcode2 -ne 0 ];then
|
||||
return 1
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
@ -115,7 +115,7 @@ save_log()
|
||||
# dump_fs <mount point>
|
||||
dump_fs()
|
||||
{
|
||||
local ret
|
||||
local _exitcode
|
||||
local _mp=$1
|
||||
local _dev=$(get_mount_info SOURCE target $_mp -f)
|
||||
local _op=$(get_mount_info OPTIONS target $_mp -f)
|
||||
@ -159,16 +159,20 @@ dump_fs()
|
||||
|
||||
dinfo "saving vmcore"
|
||||
$CORE_COLLECTOR /proc/vmcore $_dump_path/vmcore-incomplete
|
||||
ret=$?
|
||||
save_log
|
||||
mv $KDUMP_LOG_FILE $_dump_path/
|
||||
if [ $ret -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
_exitcode=$?
|
||||
if [ $_exitcode -eq 0 ]; then
|
||||
mv $_dump_path/vmcore-incomplete $_dump_path/vmcore
|
||||
sync
|
||||
|
||||
dinfo "saving vmcore complete"
|
||||
else
|
||||
derror "saving vmcore failed, _exitcode:$_exitcode"
|
||||
fi
|
||||
|
||||
save_log
|
||||
mv $KDUMP_LOG_FILE $_dump_path/
|
||||
if [ $_exitcode -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
# improper kernel cmdline can cause the failure of echo, we can ignore this kind of failure
|
||||
return 0
|
||||
|
2
kdumpctl
2
kdumpctl
@ -944,7 +944,7 @@ check_fence_kdump_config()
|
||||
return 1
|
||||
fi
|
||||
# node can be ipaddr
|
||||
echo $ipaddrs | grep $node > /dev/null
|
||||
echo "$ipaddrs " | grep "$node " > /dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
derror "Option fence_kdump_nodes cannot contain $node"
|
||||
return 1
|
||||
|
@ -0,0 +1,101 @@
|
||||
From 54aec3878b3f91341e6bc735eda158cca5c54ec9 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Egorenkov <egorenar@linux.ibm.com>
|
||||
Date: Fri, 18 Sep 2020 13:55:56 +0200
|
||||
Subject: [PATCH] [PATCH] make use of 'uts_namespace.name' offset in VMCOREINFO
|
||||
|
||||
* Required for kernel 5.11
|
||||
|
||||
The offset of the field 'init_uts_ns.name' has changed since
|
||||
kernel commit 9a56493f6942 ("uts: Use generic ns_common::count").
|
||||
Make use of the offset 'uts_namespace.name' if available in
|
||||
VMCOREINFO.
|
||||
|
||||
Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
|
||||
---
|
||||
makedumpfile.c | 17 +++++++++++++++--
|
||||
makedumpfile.h | 6 ++++++
|
||||
2 files changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/makedumpfile.c b/makedumpfile.c
|
||||
index 061741f..ecd63fa 100644
|
||||
--- a/makedumpfile-1.6.8/makedumpfile.c
|
||||
+++ b/makedumpfile-1.6.8/makedumpfile.c
|
||||
@@ -1159,7 +1159,10 @@ check_release(void)
|
||||
if (SYMBOL(system_utsname) != NOT_FOUND_SYMBOL) {
|
||||
utsname = SYMBOL(system_utsname);
|
||||
} else if (SYMBOL(init_uts_ns) != NOT_FOUND_SYMBOL) {
|
||||
- utsname = SYMBOL(init_uts_ns) + sizeof(int);
|
||||
+ if (OFFSET(uts_namespace.name) != NOT_FOUND_STRUCTURE)
|
||||
+ utsname = SYMBOL(init_uts_ns) + OFFSET(uts_namespace.name);
|
||||
+ else
|
||||
+ utsname = SYMBOL(init_uts_ns) + sizeof(int);
|
||||
} else {
|
||||
ERRMSG("Can't get the symbol of system_utsname.\n");
|
||||
return FALSE;
|
||||
@@ -2040,6 +2043,11 @@ get_structure_info(void)
|
||||
SIZE_INIT(cpu_spec, "cpu_spec");
|
||||
OFFSET_INIT(cpu_spec.mmu_features, "cpu_spec", "mmu_features");
|
||||
|
||||
+ /*
|
||||
+ * Get offsets of the uts_namespace's members.
|
||||
+ */
|
||||
+ OFFSET_INIT(uts_namespace.name, "uts_namespace", "name");
|
||||
+
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -2109,7 +2117,10 @@ get_str_osrelease_from_vmlinux(void)
|
||||
if (SYMBOL(system_utsname) != NOT_FOUND_SYMBOL) {
|
||||
utsname = SYMBOL(system_utsname);
|
||||
} else if (SYMBOL(init_uts_ns) != NOT_FOUND_SYMBOL) {
|
||||
- utsname = SYMBOL(init_uts_ns) + sizeof(int);
|
||||
+ if (OFFSET(uts_namespace.name) != NOT_FOUND_STRUCTURE)
|
||||
+ utsname = SYMBOL(init_uts_ns) + OFFSET(uts_namespace.name);
|
||||
+ else
|
||||
+ utsname = SYMBOL(init_uts_ns) + sizeof(int);
|
||||
} else {
|
||||
ERRMSG("Can't get the symbol of system_utsname.\n");
|
||||
return FALSE;
|
||||
@@ -2344,6 +2355,7 @@ write_vmcoreinfo_data(void)
|
||||
WRITE_MEMBER_OFFSET("vmemmap_backing.list", vmemmap_backing.list);
|
||||
WRITE_MEMBER_OFFSET("mmu_psize_def.shift", mmu_psize_def.shift);
|
||||
WRITE_MEMBER_OFFSET("cpu_spec.mmu_features", cpu_spec.mmu_features);
|
||||
+ WRITE_MEMBER_OFFSET("uts_namespace.name", uts_namespace.name);
|
||||
|
||||
if (SYMBOL(node_data) != NOT_FOUND_SYMBOL)
|
||||
WRITE_ARRAY_LENGTH("node_data", node_data);
|
||||
@@ -2743,6 +2755,7 @@ read_vmcoreinfo(void)
|
||||
READ_MEMBER_OFFSET("vmemmap_backing.list", vmemmap_backing.list);
|
||||
READ_MEMBER_OFFSET("mmu_psize_def.shift", mmu_psize_def.shift);
|
||||
READ_MEMBER_OFFSET("cpu_spec.mmu_features", cpu_spec.mmu_features);
|
||||
+ READ_MEMBER_OFFSET("uts_namespace.name", uts_namespace.name);
|
||||
|
||||
READ_STRUCTURE_SIZE("printk_log", printk_log);
|
||||
READ_STRUCTURE_SIZE("printk_ringbuffer", printk_ringbuffer);
|
||||
diff --git a/makedumpfile.h b/makedumpfile.h
|
||||
index 47f7e79..5f50080 100644
|
||||
--- a/makedumpfile-1.6.8/makedumpfile.h
|
||||
+++ b/makedumpfile-1.6.8/makedumpfile.h
|
||||
@@ -1728,6 +1728,8 @@ struct size_table {
|
||||
long cpu_spec;
|
||||
|
||||
long pageflags;
|
||||
+
|
||||
+ long uts_namespace;
|
||||
};
|
||||
|
||||
struct offset_table {
|
||||
@@ -1935,6 +1937,10 @@ struct offset_table {
|
||||
struct cpu_spec_s {
|
||||
long mmu_features;
|
||||
} cpu_spec;
|
||||
+
|
||||
+ struct uts_namespace_s {
|
||||
+ long name;
|
||||
+ } uts_namespace;
|
||||
};
|
||||
|
||||
/*
|
||||
--
|
||||
2.29.2
|
||||
|
@ -5,7 +5,7 @@
|
||||
|
||||
Name: kexec-tools
|
||||
Version: 2.0.21
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: GPLv2
|
||||
Summary: The kexec/kdump userspace component
|
||||
|
||||
@ -63,6 +63,7 @@ Requires: dracut >= 050
|
||||
Requires: dracut-network >= 050
|
||||
Requires: dracut-squash >= 050
|
||||
Requires: ethtool
|
||||
BuildRequires: make
|
||||
BuildRequires: zlib-devel elfutils-devel glib2-devel bzip2-devel ncurses-devel bison flex lzo-devel snappy-devel
|
||||
BuildRequires: pkgconfig intltool gettext
|
||||
BuildRequires: systemd-units
|
||||
@ -102,6 +103,7 @@ Requires: systemd-udev%{?_isa}
|
||||
Patch601: ./kexec-tools-2.0.20-eppic-Remove-duplicated-variable-declaration.patch
|
||||
Patch603: ./kexec-tools-2.0.20-makedumpfile-printk-add-support-for-lockless-ringbuffer.patch
|
||||
Patch604: ./kexec-tools-2.0.20-makedumpfile-printk-use-committed-finalized-state-value.patch
|
||||
Patch605: ./kexec-tools-2.0.21-makedumpfile-make-use-of-uts_namespace.name-offset-in-VMCOR.patch
|
||||
|
||||
%description
|
||||
kexec-tools provides /sbin/kexec binary that facilitates a new
|
||||
@ -120,6 +122,7 @@ tar -z -x -v -f %{SOURCE19}
|
||||
%patch601 -p1
|
||||
%patch603 -p1
|
||||
%patch604 -p1
|
||||
%patch605 -p1
|
||||
|
||||
%ifarch ppc
|
||||
%define archdef ARCH=ppc
|
||||
@ -358,6 +361,12 @@ done
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Jan 08 2021 Kairui Song <kasong@redhat.com> - 2.0.21-2
|
||||
- makedumpfile: make use of 'uts_namespace.name' offset in VMCOREINFO
|
||||
- kdumpctl: fix a variable expansion in check_fence_kdump_config()
|
||||
- Add BuildRequires: make
|
||||
- Save the final failure information to log file if saving vmcore failed
|
||||
|
||||
* Wed Dec 23 2020 Kairui Song <kasong@redhat.com> - 2.0.21-1
|
||||
- makedumpfile: printk: use committed/finalized state values
|
||||
- makedumpfile: printk: add support for lockless ringbuffer
|
||||
|
Loading…
Reference in New Issue
Block a user