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-04-14 17:24:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kdump (Old) and /work/SRC/openSUSE:Factory/.kdump.new.1941 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kdump" Thu Apr 14 17:24:17 2022 rev:124 rq:969482 version:1.0.2+git12.g1a68ca5 Changes: -------- --- /work/SRC/openSUSE:Factory/kdump/kdump.changes 2022-04-03 21:30:51.159911796 +0200 +++ /work/SRC/openSUSE:Factory/.kdump.new.1941/kdump.changes 2022-04-14 17:24:34.883201390 +0200 @@ -1,0 +2,6 @@ +Tue Apr 12 14:41:25 UTC 2022 - Jiri Bohac <jbo...@suse.com> + +- remount filesystem r/w for fadump (bsc#1197125) +- stop reloading FADump on CPU hot-add event + +------------------------------------------------------------------- Old: ---- kdump-1.0.2+git8.g51e8c4d.tar.xz New: ---- kdump-1.0.2+git12.g1a68ca5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kdump.spec ++++++ --- /var/tmp/diff_new_pack.99BBFD/_old 2022-04-14 17:24:35.411202007 +0200 +++ /var/tmp/diff_new_pack.99BBFD/_new 2022-04-14 17:24:35.415202012 +0200 @@ -49,7 +49,7 @@ %define dracutlibdir %{_prefix}/lib/dracut Name: kdump -Version: 1.0.2+git8.g51e8c4d +Version: 1.0.2+git12.g1a68ca5 Release: 0 Summary: Script for kdump License: GPL-2.0-or-later ++++++ kdump-1.0.2+git8.g51e8c4d.tar.xz -> kdump-1.0.2+git12.g1a68ca5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git8.g51e8c4d/70-kdump.rules.in new/kdump-1.0.2+git12.g1a68ca5/70-kdump.rules.in --- old/kdump-1.0.2+git8.g51e8c4d/70-kdump.rules.in 2022-03-18 09:34:27.000000000 +0100 +++ new/kdump-1.0.2+git12.g1a68ca5/70-kdump.rules.in 2022-04-12 16:09:29.000000000 +0200 @@ -22,7 +22,7 @@ LABEL="kdump_try_restart" PROGRAM="/bin/cat /sys/kernel/kexec_crash_loaded", RESULT!="0", RUN+="/usr/lib/kdump/load-once.sh" @if @ARCH@ ppc64 ppc64le -TEST=="/sys/kernel/fadump_registered", PROGRAM="/bin/cat /sys/kernel/fadump_registered", RESULT!="0", RUN+="/usr/lib/kdump/load-once.sh" +SUBSYSTEM=="memory", TEST=="/sys/kernel/fadump_registered", PROGRAM="/bin/cat /sys/kernel/fadump_registered", RESULT!="0", RUN+="/usr/lib/kdump/load-once.sh" @endif LABEL="kdump_end" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git8.g51e8c4d/doc/man/mkdumprd.8.txt.in new/kdump-1.0.2+git12.g1a68ca5/doc/man/mkdumprd.8.txt.in --- old/kdump-1.0.2+git8.g51e8c4d/doc/man/mkdumprd.8.txt.in 2022-03-18 09:34:27.000000000 +0100 +++ new/kdump-1.0.2+git12.g1a68ca5/doc/man/mkdumprd.8.txt.in 2022-04-12 16:09:29.000000000 +0200 @@ -81,6 +81,9 @@ Be quiet. Don't output status messages. Used to call *mkdumprd*(8) from /etc/init.d/kdump init script. +*-d*:: + Output debug information of the initrd build process. + FILES ----- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git8.g51e8c4d/dracut/kdump-save.cc new/kdump-1.0.2+git12.g1a68ca5/dracut/kdump-save.cc --- old/kdump-1.0.2+git8.g51e8c4d/dracut/kdump-save.cc 2022-03-18 09:34:27.000000000 +0100 +++ new/kdump-1.0.2+git12.g1a68ca5/dracut/kdump-save.cc 2022-04-12 16:09:29.000000000 +0200 @@ -315,6 +315,33 @@ : unsetenv(m_name.c_str()); } +// handle remounting existing readonly mounts readwrite +// mount -a works only for not yet mounted filesystems +void rwFixup() +{ + FstabMountTable tbl; + MountTable::iterator it(tbl, MNT_ITER_FORWARD); + while (++it) { + if (it->hasOption("bind") || + it->hasOption("rbind")) { + FilePath mpt(it->target()); + if (string(it->fstype()) == "none" && !mpt.isWritable()) { + // remounting bind mounts needs special incantation + StringVector args { "none", mpt, "-o", "remount,rw" }; + ProcessFilter().execute("mount", args); + } + } else if (it->hasOption("ro")) { + continue; + } else { + FilePath mpt(it->target()); + if (!mpt.isWritable()) { + StringVector args { mpt, "-o", "remount,rw" }; + ProcessFilter().execute("mount", args); + } + } + } +} + static void deleteDumps() { try { @@ -373,6 +400,8 @@ if (code) cerr << "Transfer exit code is " << code << endl; } else { + rwFixup(); + // pre-script const string &prescript = config->KDUMP_PRESCRIPT.value(); if (!prescript.empty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kdump-1.0.2+git8.g51e8c4d/init/mkdumprd new/kdump-1.0.2+git12.g1a68ca5/init/mkdumprd --- old/kdump-1.0.2+git8.g51e8c4d/init/mkdumprd 2022-03-18 09:34:27.000000000 +0100 +++ new/kdump-1.0.2+git12.g1a68ca5/init/mkdumprd 2022-04-12 16:09:29.000000000 +0200 @@ -22,6 +22,7 @@ KERNELVERSION= FORCE=0 QUIET=0 +DEBUG=false DRACUT=/usr/bin/dracut # @@ -36,7 +37,8 @@ echo " Defaults to the running kernel." echo " -f Force regeneration even if the configuration" echo " did not change" - echo " -q quiet (don't print status messages)" + echo " -q Quiet (don't print status messages)" + echo " -d Output debug information of the initrd build process" echo " -h Print this help" } # }}} @@ -63,6 +65,7 @@ fi DRACUT_ARGS="$DRACUT_ARGS --add 'kdump' $INITRD $KERNELVERSION" + $DEBUG && DRACUT_ARGS="--debug $DRACUT_ARGS" echo "Regenerating kdump initrd ..." >&2 eval "bash -$- $DRACUT $DRACUT_ARGS" } # }}} @@ -75,6 +78,8 @@ # be booted after a crash, but any installed kernel can be used # to save the dump. Consequently, let mkinitrd regenerate initrd # for all installed kernels. + + $DEBUG && export dracut_args="--debug" echo "Regenerating all initrds ..." >&2 eval "bash -$- /sbin/mkinitrd" } # }}} @@ -92,7 +97,7 @@ # Option parsing {{{ -while getopts "hfqk:K:I:" name ; do +while getopts "hfqk:K:I:d" name ; do case $name in k) KERNELVERSION=$OPTARG ;; @@ -112,6 +117,9 @@ I) INITRD=$OPTARG ;; + + d) DEBUG=true + ;; ?) usage exit 1