Hello community, here is the log from the commit of package kdump for openSUSE:Factory checked in at 2017-12-08 21:47:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdump (Old) and /work/SRC/openSUSE:Factory/.kdump.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump" Fri Dec 8 21:47:35 2017 rev:90 rq:548155 version:0.8.16 Changes: -------- --- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2017-06-30 18:39:36.849321892 +0200 +++ /work/SRC/openSUSE:Factory/.kdump.new/kdump.changes 2017-12-08 21:47:44.142172193 +0100 @@ -1,0 +2,8 @@ +Wed Nov 15 12:25:57 UTC 2017 - msucha...@suse.com + +- kdump-Dont-exit-even-if-initrd-is-not-built.patch: fadump restart does not + always rebuild initramfs but may need to re-register (bsc#1047781). +- kdump-Limit-kdump-cpus-to-number-provided-by-config.patch (bsc#1036223, bsc#1068234). +- kdump-Don-t-split-by-default.patch (bsc#1036223, bsc#1068234). + +------------------------------------------------------------------- New: ---- kdump-Don-t-split-by-default.patch kdump-Dont-exit-even-if-initrd-is-not-built.patch kdump-Limit-kdump-cpus-to-number-provided-by-config.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdump.spec ++++++ --- /var/tmp/diff_new_pack.v2f5Aa/_old 2017-12-08 21:47:44.906139330 +0100 +++ /var/tmp/diff_new_pack.v2f5Aa/_new 2017-12-08 21:47:44.906139330 +0100 @@ -67,6 +67,9 @@ Patch23: %{name}-explicitly-request-zFCP-devices.patch Patch24: %{name}-fail-if-fadump-cannot-be-registered.patch Patch25: %{name}-activate-QETH-devices.patch +Patch26: %{name}-Dont-exit-even-if-initrd-is-not-built.patch +Patch27: %{name}-Limit-kdump-cpus-to-number-provided-by-config.patch +Patch28: %{name}-Don-t-split-by-default.patch BuildRequires: asciidoc BuildRequires: cmake BuildRequires: gcc-c++ @@ -152,6 +155,9 @@ %patch23 -p1 %patch24 -p1 %patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 %build export CFLAGS="%{optflags}" ++++++ kdump-Don-t-split-by-default.patch ++++++ >From 51a68c31497d1895602d5c6851e23a9027d9675d Mon Sep 17 00:00:00 2001 From: Ankit Kumar <an...@linux.vnet.ibm.com> Date: Thu, 10 Aug 2017 15:04:32 +0530 Subject: [PATCH] Don't split by default References: bsc#1036223, bsc#1068234 Patch-mainline: v0.8.17 Git-commit: 51a68c31497d1895602d5c6851e23a9027d9675d Currently, we are default'ing to "SPILT" as well as multi-threading when KDUMPTOOL_FLAGS="". Ensure split is enabled only when it is set explicitly with KDUMPTOOL_FLAGS="SPLIT". Signed-off-by: Ankit Kumar <an...@linux.vnet.ibm.com> --- kdumptool/savedump.cc | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/kdumptool/savedump.cc b/kdumptool/savedump.cc index ec66e63bd29b..e832bf98b762 100644 --- a/kdumptool/savedump.cc +++ b/kdumptool/savedump.cc @@ -294,15 +294,12 @@ void SaveDump::saveDump(const RootDirURLVector &urlv) if (cpus > online_cpus) cpus = online_cpus; } - if (!config->kdumptoolContainsFlag("NOSPLIT") && - !config->kdumptoolContainsFlag("SINGLE") && + if (!config->kdumptoolContainsFlag("SINGLE") && cpus > 1) { - if (!useElf) - m_split = cpus; - else - cerr << "Splitting ELF dumps is not supported." << endl; - if (config->kdumptoolContainsFlag("SPLIT")) { + /* The check for NOSPLIT is for backward compatibility */ + if (config->kdumptoolContainsFlag("SPLIT") && + !config->kdumptoolContainsFlag("NOSPLIT")) { if (!useElf) m_split = cpus; else -- 2.13.6 ++++++ kdump-Dont-exit-even-if-initrd-is-not-built.patch ++++++ >From 086068496508087b68029ae31a93ed5d3e4ac2cb Mon Sep 17 00:00:00 2001 From: Ankit Kumar <an...@linux.vnet.ibm.com> Date: Mon, 7 Aug 2017 20:35:04 +0530 Subject: [PATCH] Don't exit even if initrd is not built References: bsc#1047781 Patch-mainline: v0.8.17 Git-commit: 086068496508087b68029ae31a93ed5d3e4ac2cb In case where there is no change in kdump config, new initrd won't be built. Restarting kdump.service in above case exits as initrd is same as older. As control doesn't proceed further, it fails to enable dump configuration. This patch fixes above mentioned issue by proceeding further and enabling dump configuration. Signed-off-by: Ankit Kumar <an...@linux.vnet.ibm.com> Acked-by: Michal Suchanek <msucha...@suse.de> --- init/load.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/init/load.sh b/init/load.sh index 4fc7a82e7199..6910bc546d9c 100755 --- a/init/load.sh +++ b/init/load.sh @@ -309,13 +309,13 @@ if [ "$1" = "--update" ] ; then rebuild_kdumprd || exit 1 after=$(stat -c %Y $kdump_initrd) - # If the initial ram disk was not updated, - # do not execute kexec again. This script - # is called from kdump.service and + # This script is called from kdump.service and # kdump-rebuild-initrd.service. - if [ "$before" = "$after" ] ; then - exit 0 - fi + # Proceed further even if there is no change in initrd + # because restart kdump.service unloads kdump/fadump and + # in next service start below enablement will be required + # otherwise kdump/fadump won't be enabled and leads to panic + # on crash. fi if [ "$KDUMP_FADUMP" = "yes" ] ; then -- 2.13.6 ++++++ kdump-Limit-kdump-cpus-to-number-provided-by-config.patch ++++++ >From 4fc281692f5bef9a23c603a37e7a1bc30ee0a855 Mon Sep 17 00:00:00 2001 From: Ankit Kumar <an...@linux.vnet.ibm.com> Date: Thu, 10 Aug 2017 09:43:47 +0530 Subject: [PATCH] Limit kdump cpus to number provided by config References: bsc#1036223, bsc#1068234 Patch-mainline: v0.8.17 Git-commit: 4fc281692f5bef9a23c603a37e7a1bc30ee0a855 Current piece of code doesn't verify number of kdump cpus provided in config with number of online cpus and uses all online cpus as kdump cpus even if KDUMP_CPUS are provided in the config. Current code: If online cpus = 5 and KDUMP_CPUS = 2 , then current piece of code considers all online cpus as kdump cpus which is 5 but as KDUMP_CPUS is provided as 2, we should restrict makedumpfile to use KDUMP_CPUS which is 2 in this case. In case of kdump, as we use maxcpus=1 and hence online cpus remains 1 but in case of fadump all cpus are online and even after providing KDUMP_CPUS=1 in config, it consider all online cpus as kdump cpus. This patch fixes above issue by verifying KDUMP_CPUS with online cpus. If KDUMP_CPUS > online cpus then only use online cpus as kdump cpus else use KDUMP_CPUS as dump cpus. Signed-off-by: Ankit Kumar <an...@linux.vnet.ibm.com> --- kdumptool/savedump.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kdumptool/savedump.cc b/kdumptool/savedump.cc index a2fb1589d9db..ec66e63bd29b 100644 --- a/kdumptool/savedump.cc +++ b/kdumptool/savedump.cc @@ -286,9 +286,13 @@ void SaveDump::saveDump(const RootDirURLVector &urlv) return; // nothing to be done unsigned long cpus = config->KDUMP_CPUS.value(); + unsigned long online_cpus = 0; if (cpus) { SystemCPU syscpu; - cpus = syscpu.numOnline(); + online_cpus = syscpu.numOnline(); + /* Limit kdump cpus to online cpus if (KDUMP_CPUS > online cpus) */ + if (cpus > online_cpus) + cpus = online_cpus; } if (!config->kdumptoolContainsFlag("NOSPLIT") && !config->kdumptoolContainsFlag("SINGLE") && -- 2.13.6