On Thu, Jul 31, 2014 at 02:30:09PM +0800, WANG Chao wrote:
Now upon failure kdump script might not be called at all and it
might
not be able to execute default action. It results in a hang.
Because we disable emergency shell and rely on kdump.sh being invoked
through dracut-pre-pivot hook. But it might happen that we never call
into dracut-pre-pivot hook because certain systemd targets could not
reach due to failure in their dependencies. In those cases error
handling code does not run and system hangs. For example:
sysroot-var-crash.mount --> initrd-root-fs.target --> initrd.target \
--> dracut-pre-pivot.service --> kdump.sh
If /var/crash mount fails, local-fs.target will not be reached. And then
sysinit.target will not be reached, kdump-pre-pivot.service wouldn't
run. Finally kdump.sh wouldn't run.
Hey chao,
The description and call graph you have drawn are not matching. You
mention that local-fs.target will not be reached but there is no
local-fs.target in the graph.
You mention sysinit.target will not be reached, but there is no
sysinit.target in the graph.
You mention kdump-pre-pivot.service will not run, but there isn o
kdump-pre-pivot.service in the graph.
I think this description/call graph requires some fixing.
Thanks
Vivek