Go to file
Xunlei Pang 5c87d73cf3 kdump-emergency: fix "Transaction is destructive" emergency failure
We met a problem that the kdump emergency service failed to
start when the target dump timeout(we passed "rd.timeout=30"
to kdump), it reported "Transaction is destructive" messages:

  [ TIME ] Timed out waiting for device dev-mapper-fedora\x2droot.device.
  [DEPEND] Dependency failed for Initrd Root Device.
  [ SKIP ] Ordering cycle found, skipping System Initialization
  [DEPEND] Dependency failed for /sysroot.
  [DEPEND] Dependency failed for Initrd Root File System.
  [DEPEND] Dependency failed for Reload Configuration from the Real Root.
  [ SKIP ] Ordering cycle found, skipping System Initialization
  [ SKIP ] Ordering cycle found, skipping Initrd Default Target
  [DEPEND] Dependency failed for File System Check on /dev/mapper/fedora-root.
  [  OK  ] Reached target Initrd File Systems.
  [  OK  ] Stopped dracut pre-udev hook.
  [  OK  ] Stopped dracut cmdline hook.
           Starting Setup Virtual Console...
           Starting Kdump Emergency...
  [  OK  ] Reached target Initrd Default Target.
  [  OK  ] Stopped dracut initqueue hook.
  Failed to start kdump-error-handler.service: Transaction is destructive.
  See system logs and 'systemctl status kdump-error-handler.service' for details.
  [FAILED] Failed to start Kdump Emergency.
  See 'systemctl status emergency.service' for details.
  [DEPEND] Dependency failed for Emergency Mode.

This is because in case of root failure, initrd-root-fs.target
will trigger systemd emergency target which requires the systemd
emergency service actually is kdump-emergency.service, then our
kdump-emergency.service starts kdump-error-handler.service with
"systemctl isolate"(see 99kdumpbase/kdump-emergency.service, we
replace systemd's with this one under kdump).

This will lead to systemd two contradictable jobs queued as an
atomic transaction:
job 1) the emergency service gets started by initrd-root-fs.target
job 2) the emergency service gets stopped due to "systemctl isolate"
thereby throwing "Transaction is destructive".

In order to solve it, we can utilize "IgnoreOnIsolate=yes" for both
kdump-emergency.service and kdump-emergency.target. Unit with attribute
"IgnoreOnIsolate=yes" won't be stopped when isolating another unit,
they can keep going as expected in case be triggered by any failure.

We add kdump-emergency.target dedicated to kdump the similar way
as did for kdump-emergency.service(i.e. will replace systemd's
emergency.target with kdump-emergency.target under kdump), and
adds "IgnoreOnIsolate=yes" into both of them.

Signed-off-by: Xunlei Pang <xlpang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Pratyush Anand <panand@redhat.com>
[bhe: improve the patch log about IgnoreOnIsolate="]
2017-03-31 11:54:30 +08:00
anaconda-addon Rename the subpackage kdump-anaconda-addon 2014-05-22 18:32:43 +08:00
.gitignore .gitignore: Update to make it more generic 2016-05-16 10:15:01 +08:00
98-kexec.rules udev-rules: Restart kdump service on cpu ADD/REMOVE events 2014-09-15 21:55:07 +08:00
README README: Add a README file 2014-04-02 10:45:36 +08:00
dracut-kdump-capture.service Introduce kdump capture service 2014-08-05 13:13:32 +08:00
dracut-kdump-emergency.service kdump-emergency: fix "Transaction is destructive" emergency failure 2017-03-31 11:54:30 +08:00
dracut-kdump-emergency.target kdump-emergency: fix "Transaction is destructive" emergency failure 2017-03-31 11:54:30 +08:00
dracut-kdump-error-handler.service Introduce kdump error handling service 2014-08-05 13:13:32 +08:00
dracut-kdump-error-handler.sh Revert "execute kdump_post after do_default_action" 2015-04-08 15:50:16 +08:00
dracut-kdump.sh dracut-kdump: use POSIX shell syntax 2016-11-28 10:41:15 +08:00
dracut-module-setup.sh kdump-emergency: fix "Transaction is destructive" emergency failure 2017-03-31 11:54:30 +08:00
dracut-monitor_dd_progress monitor-dd-progress fix 2013-06-25 16:45:59 +08:00
fadump-howto.txt Document: fix incorrect link in fadump-how.txt 2017-03-08 13:07:20 +08:00
kdump-dep-generator.sh kdump-dep-generator: Add kdump service dependencies on the fly 2014-04-17 11:27:31 +08:00
kdump-in-cluster-environment.txt Add fence_kdump support for generic clusters 2014-04-03 14:43:06 +08:00
kdump-lib-initramfs.sh use "systemctl reboot -f" for reboot action 2015-12-11 15:20:54 +08:00
kdump-lib.sh kdump-lib.sh: fix incorrect usage with pipe as input for grep -q in is_pcs_fence_kdump() 2017-03-08 13:07:20 +08:00
kdump.conf Correct two typos in kdumpctl and kdump.conf 2016-11-28 10:41:05 +08:00
kdump.conf.5 kdump.conf man page fixes 2016-07-20 10:09:41 +08:00
kdump.service make kdump work when kernel crash after shutdown 2015-06-03 21:10:34 +08:00
kdump.sysconfig Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdump.sysconfig.i386 Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdump.sysconfig.ppc64 Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdump.sysconfig.ppc64le Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdump.sysconfig.s390x Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdump.sysconfig.x86_64 Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdumpctl kdumpctl: sanity check of nr_cpus for x86_64 in case running out of vectors 2017-01-23 15:52:24 +08:00
kdumpctl.8 kdumpctl: Add man page for kdumpctl 2015-08-19 14:15:34 +08:00
kexec-kdump-howto.txt kexec-kdump-howto: Add doc about the special mount information via "dracut_args" 2016-08-26 14:03:48 +08:00
kexec-tools-2.0.3-disable-kexec-test.patch Disable kexec_test 2012-01-21 16:56:07 +08:00
kexec-tools-2.0.14-build_mem_phdrs-check-if-p_paddr-is-invalid.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-elf_info-kcore-check-for-invalid-physic.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-initial-call-cache_init-a-bit-early.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-makedumpfile-Correct-the-calculation-of.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-makedumpfile-Discard-process_dump_load.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-mem-usage-allow-to-work-only-with-f-for.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-show_mem_usage-calculate-page-offset-af.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-makedumpfile-x86_64-check-physical-address-in-PT_LOA.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools-2.0.14-x86-x86_64-Fix-format-warning-with-die.patch Fix `makedumpfile --mem-usage /proc/kcore` 2017-03-17 10:14:17 +08:00
kexec-tools.spec kdump-emergency: fix "Transaction is destructive" emergency failure 2017-03-31 11:54:30 +08:00
live-image-kdump-howto.txt Documentation: step by step guide on confiuring kdump in live images 2016-11-11 10:56:11 +08:00
mkdumprd use --hostonly-i18n for dracut 2017-01-23 15:50:47 +08:00
mkdumprd.8 Remove comma which is redundant 2013-02-16 15:19:41 +08:00
sources Rebase makedumpfile 1.6.1 2017-01-04 14:58:56 +08:00
zanata-notes.txt Add a notes for zanata process 2012-12-05 01:23:09 -05:00

README

Adding a patch to kexec-tools
=============================
There is a mailing list kexec@lists.fedoraproject.org where all the dicussion
related to fedora kexec-tools happen. All the patches are posted there for
inclusion and committed to kexec-tools after review.

So if you want your patches to be included in fedora kexec-tools package,
post these to kexec@lists.fedoraproject.org.

One can subscribe to list and browse through archives here.

https://admin.fedoraproject.org/mailman/listinfo/kexec