Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kdump for openSUSE:Factory checked in at 2022-11-27 12:52:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdump (Old) and /work/SRC/openSUSE:Factory/.kdump.new.1597 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump" Sun Nov 27 12:52:53 2022 rev:129 rq:1038255 version:1.0.2+git26.gc6fab38 Changes: -------- --- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2022-11-19 18:08:57.790317185 +0100 +++ /work/SRC/openSUSE:Factory/.kdump.new.1597/kdump.changes 2022-11-27 12:53:07.151238288 +0100 @@ -1,0 +2,13 @@ +Fri Nov 25 17:54:45 UTC 2022 - Jiri Bohac <jbo...@suse.com> + +- Make the kdump-save.service reboot after kdump-save is finished + (bsc#1204000) + +------------------------------------------------------------------- +Tue Nov 22 17:32:31 UTC 2022 - Jiri Bohac <jbo...@suse.com> + +- fix renaming of qeth interfaces (bsc#1204743, bsc#1144337) +- ppc64: rebuild initrd image after migration (bsc#1191410) +- kdumptool calibrate: modify fadump suggestions (jsc#IBM-1027) + +------------------------------------------------------------------- Old: ---- kdump-1.0.2+git20.gcb129d0.tar.xz New: ---- kdump-1.0.2+git26.gc6fab38.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdump.spec ++++++ --- /var/tmp/diff_new_pack.RUDHr5/_old 2022-11-27 12:53:07.711241537 +0100 +++ /var/tmp/diff_new_pack.RUDHr5/_new 2022-11-27 12:53:07.715241561 +0100 @@ -49,7 +49,7 @@ %define dracutlibdir %{_prefix}/lib/dracut Name: kdump -Version: 1.0.2+git20.gcb129d0 +Version: 1.0.2+git26.gc6fab38 Release: 0 Summary: Script for kdump License: GPL-2.0-or-later @@ -96,6 +96,11 @@ Requires: kexec-tools Requires: makedumpfile Requires: openssh +%ifarch ppc64 ppc64le +Requires: servicelog +BuildRequires: servicelog +%endif + # FIXME: use proper Requires(pre/post/preun/...) PreReq: %fillup_prereq PreReq: /usr/bin/mkdir @@ -186,8 +191,15 @@ ! test -d %{_localstatedir}/log/dump ; then ln -snf %{_localstatedir}/crash %{_localstatedir}/log/dump fi +%ifarch ppc64 ppc64le +servicelog_notify --remove --command=/usr/lib/kdump/kdump-migrate-action.sh +servicelog_notify --add --command=/usr/lib/kdump/kdump-migrate-action.sh --match='refcode="#MIGRATE" and serviceable=0' --type=EVENT --method=pairs_stdin +%endif %preun +%ifarch ppc64 ppc64le +servicelog_notify --remove --command=/usr/lib/kdump/kdump-migrate-action.sh +%endif echo "Stopping kdump ..." %service_del_preun kdump.service %service_del_preun kdump-early.service ++++++ kdump-1.0.2+git20.gcb129d0.tar.xz -> kdump-1.0.2+git26.gc6fab38.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/CMakeLists.txt new/kdump-1.0.2+git26.gc6fab38/CMakeLists.txt --- old/kdump-1.0.2+git20.gcb129d0/CMakeLists.txt 2022-09-09 16:48:19.000000000 +0200 +++ new/kdump-1.0.2+git26.gc6fab38/CMakeLists.txt 2022-11-25 17:51:00.000000000 +0100 @@ -202,6 +202,19 @@ /usr/lib/kdump ) +IF("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "ppc64(le)?") + INSTALL( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/kdump-migrate-action.sh + DESTINATION + /usr/lib/kdump + PERMISSIONS + OWNER_READ OWNER_WRITE OWNER_EXECUTE + GROUP_READ GROUP_EXECUTE + WORLD_READ WORLD_EXECUTE + ) +ENDIF() + # # Source Packages # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/doc/man/kdump.7.txt.in new/kdump-1.0.2+git26.gc6fab38/doc/man/kdump.7.txt.in --- old/kdump-1.0.2+git20.gcb129d0/doc/man/kdump.7.txt.in 2022-09-09 16:48:19.000000000 +0200 +++ new/kdump-1.0.2+git26.gc6fab38/doc/man/kdump.7.txt.in 2022-11-25 17:51:00.000000000 +0100 @@ -429,8 +429,8 @@ See also -------- -*kexec*(8), *kdump*(5), *makedumpfile*(8), *crash*(8) -http://en.opensuse.org/Kdump[_http://en.opensuse.org/Kdump_] +*kexec*(8), *kdump*(5), *makedumpfile*(8), *crash*(8), +The Kexec and Kdump chapter in the SUSE System Analysis and Tuning Guide // vim: set sw=4 ts=4 et tw=80 fdm=marker: :collapseFolds=1: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/dracut/kdump-save.service.in new/kdump-1.0.2+git26.gc6fab38/dracut/kdump-save.service.in --- old/kdump-1.0.2+git20.gcb129d0/dracut/kdump-save.service.in 2022-09-09 16:48:19.000000000 +0200 +++ new/kdump-1.0.2+git26.gc6fab38/dracut/kdump-save.service.in 2022-11-25 17:51:00.000000000 +0100 @@ -18,7 +18,9 @@ [Service] Type=oneshot -ExecStart=/kdump/kdump-save +ExecStart=-/kdump/kdump-save +ExecStartPost=-/usr/bin/umount -a +ExecStartPost=-/sbin/reboot -f StandardInput=tty StandardOutput=tty StandardError=tty diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/dracut/module-setup.sh new/kdump-1.0.2+git26.gc6fab38/dracut/module-setup.sh --- old/kdump-1.0.2+git20.gcb129d0/dracut/module-setup.sh 2022-09-09 16:48:19.000000000 +0200 +++ new/kdump-1.0.2+git26.gc6fab38/dracut/module-setup.sh 2022-11-25 17:51:00.000000000 +0100 @@ -197,6 +197,9 @@ return 1 } +# Output variables: +# kdump_kmods additional kernel modules updated +# kdump_ifmap hardware network interface map updated kdump_cmdline_ip() { [ "$kdump_neednet" = y ] || return 0 @@ -251,6 +254,9 @@ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && kdump_cmdline_zfcp } +# Output variables: +# kdump_kmods additional kernel modules updated +# kdump_ifmap hardware network interface map updated cmdline_net() { kdump_cmdline_ip } @@ -265,7 +271,12 @@ local _cmdline=$(cmdline_zfcp) [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> "${initdir}/etc/cmdline.d/99kdump-zfcp.conf" - _cmdline=$(cmdline_net) + # don't call cmdline_net in a subshell, it sets global variables + _cmdline_f=$(mktemp) || return 1 + cmdline_net > $_cmdline_f + _cmdline=$(< $_cmdline_f) + rm _cmdline_f + [ -n "$_cmdline" ] && printf "%s\n" "$_cmdline" >> "${initdir}/etc/cmdline.d/99kdump-net.conf" fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/dracut/setup-kdump.functions new/kdump-1.0.2+git26.gc6fab38/dracut/setup-kdump.functions --- old/kdump-1.0.2+git20.gcb129d0/dracut/setup-kdump.functions 2022-09-09 16:48:19.000000000 +0200 +++ new/kdump-1.0.2+git26.gc6fab38/dracut/setup-kdump.functions 2022-11-25 17:51:00.000000000 +0100 @@ -1233,7 +1233,7 @@ ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="$_dev", ATTR{online}="1" EOF - cat >"${_root}/etc/udev/rules.d/70-persistent-net-${_bootif}.rules" <<EOF + cat >"${_root}/etc/udev/rules.d/80-persistent-net-${_bootif}.rules" <<EOF SUBSYSTEM=="net", ACTION=="add", DRIVERS=="qeth"$_dev_id_match, KERNELS=="$_dev", ATTR{type}=="$_type", NAME="$_bootif" EOF } # }}} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/kdump-migrate-action.sh new/kdump-1.0.2+git26.gc6fab38/kdump-migrate-action.sh --- old/kdump-1.0.2+git20.gcb129d0/kdump-migrate-action.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/kdump-1.0.2+git26.gc6fab38/kdump-migrate-action.sh 2022-11-25 17:51:00.000000000 +0100 @@ -0,0 +1,9 @@ +#!/bin/sh + +systemctl is-active kdump +if [ $? -ne 0 ]; then + exit 0 +fi + +export PATH="$PATH:/usr/bin:/usr/sbin" +/usr/lib/kdump/load.sh --update diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git20.gcb129d0/kdumptool/calibrate.cc new/kdump-1.0.2+git26.gc6fab38/kdumptool/calibrate.cc --- old/kdump-1.0.2+git20.gcb129d0/kdumptool/calibrate.cc 2022-09-09 16:48:19.000000000 +0200 +++ new/kdump-1.0.2+git26.gc6fab38/kdumptool/calibrate.cc 2022-11-25 17:51:00.000000000 +0100 @@ -1167,21 +1167,11 @@ // Add space for memmap prev = required; -#if HAVE_FADUMP - if (config->KDUMP_FADUMP.value()) { - // FADUMP will map all memory - unsigned long maxpfn = memtotal / (sizes.pagesize() / 1024); - required += shr_round_up(maxpfn * sizes.sizeof_page(), 10); - } else { -#endif - required = required * sizes.pagesize() / (sizes.pagesize() - sizes.sizeof_page()); - unsigned long maxpfn = (required - prev) / sizes.sizeof_page(); - required = prev + align_memmap(maxpfn) * sizes.sizeof_page(); -#if HAVE_FADUMP - } -#endif - Debug::debug()->dbg("Maximum memmap size: %lu KiB", required - prev); + required = required * sizes.pagesize() / (sizes.pagesize() - sizes.sizeof_page()); + unsigned long maxpfn = (required - prev) / sizes.sizeof_page(); + required = prev + align_memmap(maxpfn) * sizes.sizeof_page(); + Debug::debug()->dbg("Maximum memmap size: %lu KiB", required - prev); Debug::debug()->dbg("Total run-time size: %lu KiB", required); return required; } @@ -1295,37 +1285,6 @@ #else // __x86_64__ minlow = MINLOW_KB; - -#if HAVE_FADUMP - // The kernel enforces minimum reservation size for FADUMP - if (config->KDUMP_FADUMP.value()) { - static const char rtas_fname[] = - "/proc/device-tree/rtas/ibm,configure-kernel-dump"; - static const char opal_fname[] = - "/proc/device-tree/ibm,opal/dump"; - - unsigned long fadump_min = 0; - if (FilePath(rtas_fname).exists()) { - // RTAS_FADUMP_MIN_BOOT_MEM - // see arch/powerpc/platforms/pseries/rtas-fadump.h - fadump_min = MB(320); - } else if (FilePath(opal_fname).exists()) { - // OPAL_FADUMP_MIN_BOOT_MEM - // see arch/powerpc/platforms/powernv/opal-fadump.h - fadump_min = MB(768); - } else { - Debug::debug()->info("Unknown FADUMP implementation!"); - } - - if (fadump_min) - Debug::debug()->dbg("Minimum FADUMP size: %lu KiB", fadump_min); - if (minlow < fadump_min) - minlow = fadump_min; - if (required < minlow) - required = minlow; - } -#endif - low = required; # if defined(__i386__) @@ -1348,6 +1307,26 @@ cout << "MinHigh: " << shr_round_up(minhigh, 10) << endl; cout << "MaxHigh: " << (maxhigh >> 10) << endl; +#if HAVE_FADUMP + unsigned long fadump, minfadump, maxfadump; + + /* min = 64 MB, max = 50% of total memory, suggested = 5% of total memory */ + maxfadump = memtotal / 2; + minfadump = MB(64); + if (maxfadump < minfadump) + maxfadump = minfadump; + fadump = memtotal / 20; + if (fadump < minfadump) + fadump = minfadump; + if (fadump > maxfadump) + fadump = maxfadump; + + + cout << "Fadump: " << shr_round_up(fadump, 10) << endl; + cout << "MinFadump: " << shr_round_up(minfadump, 10) << endl; + cout << "MaxFadump: " << shr_round_up(maxfadump, 10) << endl; +#endif + if (m_shrink) shrink_crash_size(required << 10); }