Unnamed repository
Go to file
Kairui Song 227c18506c Rewrite kdump's udev rules
According to udev's man page, PROGRAM is either used to determine
device's name or whether the device matches the rule. So we should
use RUN insteand. Meanwhile, both RUN / PROGRAM only accepts very
short-running foreground tasks, but kdump restart may take a long
time if there are any device changes that will lead to image rebuild,
which may lead to buggy behavior.

On the other hand, memory / CPU hot plug should never trigger a
initramfs rebuild.

To solve this problem, we will use new introduced "kdumpctl reload"
instead, and use systemd-run to create a transient service unit for
the reload and run it in no-block mode, so udev won't be blocked by
anything.

We need to make systemd-run execute in non-blocking mode, and do not
synchronously wait for the operation to finish, because udev expect
the command line in RUN to be finished immediately, however, kdumpctl
reload may take 0.5-1s for an ordinary reload, or even slower on some
machines. So we give systemd-run an explicit --no-block option to run
in non-blocking mode. Without --no-blocking, systemd-run will verify,
enqueue and wait for the operation to finish. By using the --no-block
option, systemd-run will only verify and enqueue the unit then
return. In this way, we make sure the command is executed
asynchronously, and the status will be monitored and logged by
systemd, which is reliable and non-blocking.

Another thing to mention is that --no-block is only needed after
systemd-v220, before v220 systemd-run uses non-blocking mode by
default and --no-block option is not available on earlier systemd
versions.

Also reformat the udev rules to a more maintanceable format.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-11-01 22:33:11 +08:00
.gitignore .gitignore: Update to make it more generic 2016-05-16 10:15:01 +08:00
98-kexec.rules Rewrite kdump's udev rules 2018-11-01 22:33:11 +08:00
README README: Add a README file 2014-04-02 10:45:36 +08:00
dracut-early-kdump-module-setup.sh Add early kdump support in initramfs. 2018-05-29 10:19:19 +08:00
dracut-early-kdump.sh Add early kdump support in initramfs. 2018-05-29 10:19:19 +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 Enable dracut squash module 2018-10-15 15:01:31 +08:00
dracut-monitor_dd_progress monitor-dd-progress fix 2013-06-25 16:45:59 +08:00
early-kdump-howto.txt Add early kdump support in initramfs. 2018-05-29 10:19:19 +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 kdump-lib-initramfs.sh: Add check to remount to rw mode only if dump target is ro. 2018-10-15 10:46:44 +08:00
kdump-lib.sh move some common functions from kdumpctl to kdump-lib.sh 2018-05-29 10:18:40 +08:00
kdump.conf kdumpctl: for fence_kdump, the ipaddr of this node should be excluded from list 2017-05-18 16:44:42 +08:00
kdump.conf.5 kdump.conf.5: clarify the fence_kdump_nodes option 2017-06-09 09:47:22 +08:00
kdump.service kdumpctl: Add reload support 2018-11-01 22:31:20 +08:00
kdump.sysconfig Remove kernel param "quiet" from kdump kernel cmdline 2015-12-11 15:18:31 +08:00
kdump.sysconfig.i386 Always drop nofail or nobootwait options 2018-08-14 10:34:45 +08:00
kdump.sysconfig.ppc64 Always drop nofail or nobootwait options 2018-08-14 10:34:45 +08:00
kdump.sysconfig.ppc64le Always drop nofail or nobootwait options 2018-08-14 10:34:45 +08:00
kdump.sysconfig.s390x Always drop nofail or nobootwait options 2018-08-14 10:34:45 +08:00
kdump.sysconfig.x86_64 Always drop nofail or nobootwait options 2018-08-14 10:34:45 +08:00
kdumpctl kdumpctl: Add reload support 2018-11-01 22:31:20 +08:00
kdumpctl.8 kdumpctl: add showmem cmd 2018-05-21 14:06:30 +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.16-koji-build-fail-workaround.patch Workaround a koji build failure 2017-12-08 11:42:30 +08:00
kexec-tools-2.0.17-kexec-fix-for-Unhandled-rela-relocation-R_X86_64_PLT.patch kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error 2018-08-22 15:48:43 +08:00
kexec-tools.spec Release 2.0.17-11 2018-10-15 15:29:01 +08:00
live-image-kdump-howto.txt Revert "kdumpctl: filter 'root' kernel parameter when running in live images" 2017-04-11 16:03:12 +08:00
mkdumprd Always drop nofail or nobootwait options 2018-08-14 10:34:45 +08:00
mkdumprd.8 Remove comma which is redundant 2013-02-16 15:19:41 +08:00
sources Remove kdump-anaconda subpackage 2018-08-07 17:22:01 +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