On Monday 12 September 2016 07:42 AM, Dave Young wrote:
Hi, Hari
The fix looks good, but I have a question about the kernel version maybe we did not notice it when we review previous fadump patches.
Hi Dave,
Thanks for the review..
On 09/07/16 at 06:10pm, Hari Bathini wrote:
When fadump mode is enabled, the default initrd is rebuilt with kdump dracut module. As the default initrd is altered, the original default initrd is backed up. But we are not restoring it when fadump mode is disabled. This patch tries to restore the backed up default initrd on disabling fadump mode.
Signed-off-by: Hari Bathini hbathini@linux.vnet.ibm.com
kdumpctl | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-)
diff --git a/kdumpctl b/kdumpctl index 8d0ab81..8d883de 100755 --- a/kdumpctl +++ b/kdumpctl @@ -154,9 +154,6 @@ rebuild_fadump_initrd() { local target_initrd_tmp
- # backup fadump initrd for reference before replacing it
- backup_initrd
- # this file tells the initrd is fadump enabled touch /tmp/fadump.initramfs target_initrd_tmp="$TARGET_INITRD.tmp"
@@ -190,8 +187,17 @@ rebuild_kdump_initrd() rebuild_initrd() { if [ $DEFAULT_DUMP_MODE == "fadump" ]; then
# backup initrd for reference before replacing it# with fadump aware initrdbackup_restore_default_initrd "backup"- rebuild_fadump_initrd else
# check if a backup of default initrd exists. If yes,# it signifies a switch from fadump mode. So, restore# the backed up default initrd.backup_restore_default_initrd "restore"- rebuild_kdump_initrd fi
@@ -220,15 +226,31 @@ check_executable() done }
-backup_initrd() +backup_restore_default_initrd() {
- local target_initrd_bak
- local default_initrd
- local default_initrd_bak
- local action=$1
- default_initrd="${KDUMP_BOOTDIR}/initramfs-${kdump_kver}.img"
- default_initrd_bak="${KDUMP_BOOTDIR}/.initramfs-${kdump_kver}.img.default"
Hari,
$kdump_kver is the kdump kernel version, it may be different with the default kernel version. Acording to my understanding the default initrd should use the normal boot kernel version like `uname -r`
Ah! true. That is the right thing to do...
- Hari
- # Check if backup initrd is already present.
- target_initrd_bak="$TARGET_INITRD.bak"
- if [ ! -e $target_initrd_bak ];then
echo "Backing up $TARGET_INITRD"cp $TARGET_INITRD $target_initrd_bak
- if [[ $action != "restore" ]]; then
if [ ! -e $default_initrd_bak ]; thenecho "Backing up $default_initrd"cp $default_initrd $default_initrd_bakfi- else
# If a backup initrd exists, we must be switching back from# fadump to kdump. Restore the original default initrd.if [ -f $default_initrd_bak ];thenmv $default_initrd_bak $default_initrdif [[ $? -eq 0 ]]; thenecho -n "Default initrd is restored as fadump mode "echo "is disabled"syncfi fi }fi
kexec mailing list kexec@lists.fedoraproject.org https://lists.fedoraproject.org/admin/lists/kexec@lists.fedoraproject.org
Thanks Dave