kdump: Introduce 'force_no_rebuild' option
This patch introduces the 'force_no_rebuild' option inside the 'kdump.conf' and its handling inside the 'kdumpctl' script. There might be several use cases, where a system admin decides that he doesn't need to rebuild the kdump initrd and wants to use an existing version of the same. In such cases, he can set the 'force_no_rebuild' option inside 'kdump.conf' to 1, to force the 'kdumpctl' script not to rebuild the kdump initrd. Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com> Acked-by: Xunlei Pang <xlpang@redhat.com> Acked-by: Dave Young <dyoung@redhat.com>
This commit is contained in:
parent
0165cfa332
commit
a284fa9005
@ -115,6 +115,13 @@
|
||||
# Specify 1 to force rebuilding kdump initrd every time when kdump
|
||||
# service starts.
|
||||
#
|
||||
# force_no_rebuild <0 | 1>
|
||||
# - By default, kdump initrd will be rebuilt when necessary.
|
||||
# Specify 1 to bypass rebuilding of kdump initrd.
|
||||
#
|
||||
# force_no_rebuild and force_rebuild options are mutually
|
||||
# exclusive and they should not be set to 1 simultaneously.
|
||||
#
|
||||
# override_resettable <0 | 1>
|
||||
# - Usually an unresettable block device can't be a dump target.
|
||||
# Specifying 1 when you want to dump even though the block
|
||||
@ -150,6 +157,7 @@ core_collector makedumpfile -l --message-level 1 -d 31
|
||||
#extra_modules gfs2
|
||||
#default shell
|
||||
#force_rebuild 1
|
||||
#force_no_rebuild 1
|
||||
#dracut_args --omit-drivers "cfg80211 snd" --add-drivers "ext2 ext3"
|
||||
#fence_kdump_args -p 7410 -f auto -c 0 -i 10
|
||||
#fence_kdump_nodes node1 node2
|
||||
|
10
kdump.conf.5
10
kdump.conf.5
@ -166,6 +166,16 @@ By default, kdump initrd will only be rebuilt when necessary.
|
||||
Specify 1 to force rebuilding kdump initrd every time when kdump service starts.
|
||||
.RE
|
||||
|
||||
.B force_no_rebuild <0 | 1>
|
||||
.RS
|
||||
By default, kdump initrd will be rebuilt when necessary.
|
||||
Specify 1 to bypass rebuilding of kdump initrd.
|
||||
|
||||
.PP
|
||||
force_no_rebuild and force_rebuild options are mutually exclusive and
|
||||
they should not be set to 1 simultaneously.
|
||||
.RE
|
||||
|
||||
.B override_resettable <0 | 1>
|
||||
.RS
|
||||
Usually an unresettable block device can't be a dump target. Specifying 1 means
|
||||
|
22
kdumpctl
22
kdumpctl
@ -367,7 +367,7 @@ check_config()
|
||||
case "$config_opt" in
|
||||
\#* | "")
|
||||
;;
|
||||
raw|ext2|ext3|ext4|minix|btrfs|xfs|nfs|ssh|sshkey|path|core_collector|kdump_post|kdump_pre|extra_bins|extra_modules|default|force_rebuild|dracut_args|fence_kdump_args|fence_kdump_nodes)
|
||||
raw|ext2|ext3|ext4|minix|btrfs|xfs|nfs|ssh|sshkey|path|core_collector|kdump_post|kdump_pre|extra_bins|extra_modules|default|force_rebuild|force_no_rebuild|dracut_args|fence_kdump_args|fence_kdump_nodes)
|
||||
[ -z "$config_val" ] && {
|
||||
echo "Invalid kdump config value for option $config_opt."
|
||||
return 1;
|
||||
@ -627,6 +627,7 @@ check_rebuild()
|
||||
{
|
||||
local extra_modules
|
||||
local _force_rebuild force_rebuild="0"
|
||||
local _force_no_rebuild force_no_rebuild="0"
|
||||
local ret system_modified="0"
|
||||
|
||||
check_boot_dir
|
||||
@ -643,6 +644,15 @@ check_rebuild()
|
||||
return 1
|
||||
fi
|
||||
|
||||
_force_no_rebuild=`grep ^force_no_rebuild $KDUMP_CONFIG_FILE 2>/dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
force_no_rebuild=`echo $_force_no_rebuild | cut -d' ' -f2`
|
||||
if [ "$force_no_rebuild" != "0" ] && [ "$force_no_rebuild" != "1" ];then
|
||||
echo "Error: force_no_rebuild value is invalid"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
_force_rebuild=`grep ^force_rebuild $KDUMP_CONFIG_FILE 2>/dev/null`
|
||||
if [ $? -eq 0 ]; then
|
||||
force_rebuild=`echo $_force_rebuild | cut -d' ' -f2`
|
||||
@ -652,6 +662,16 @@ check_rebuild()
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$force_no_rebuild" == "1" && "$force_rebuild" == "1" ]]; then
|
||||
echo "Error: force_rebuild and force_no_rebuild are enabled simultaneously in kdump.conf"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Will not rebuild kdump initrd
|
||||
if [ "$force_no_rebuild" == "1" ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
#will rebuild every time if extra_modules are specified
|
||||
extra_modules=`grep ^extra_modules $KDUMP_CONFIG_FILE`
|
||||
[ -n "$extra_modules" ] && force_rebuild="1"
|
||||
|
Loading…
Reference in New Issue
Block a user