Fix the warning if the target path is bind mount in Atomic
kdump will raise the warning in Atomic, if the path is bind mounted
directory. The reason why causes this issue is kdump cannt parse the
bind mounted directory.
To correct dumping target, we can construct the real dumping path in
Atomic, which contains two part, one bind mounted path, the other
specified dump target.
Following is an example:
-bash-4.2# cat /etc/kdump.conf | grep ^path
path /var/crash
-bash-4.2# findmnt /var | tail -n 1 | awk '{print $2}'
/dev/mapper/atomicos-root[/ostree/deploy/rhel-atomic-host/var]
-bash-4.2# findmnt -v /var | tail -n 1 | awk '{print $2}'
/dev/mapper/atomicos-root
Then we can found it that the real path of dumping vmcore is
/ostree/deploy/rhel-atomic-host/var/crash.
To fix this issue, we can replace the target path as the real path which
is from above parsing.
Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
This commit is contained in:
parent
c82a453c67
commit
7acaa304f6
@ -182,7 +182,10 @@ make_absolute_save_path()
|
||||
local _mnt
|
||||
|
||||
[ -n $_target ] && _mnt=$(get_mntpoint_from_target $1)
|
||||
echo "${_mnt}/$SAVE_PATH"
|
||||
_mnt="${_mnt}/$SAVE_PATH"
|
||||
|
||||
# strip the duplicated "/"
|
||||
echo "$_mnt" | tr -s /
|
||||
}
|
||||
|
||||
check_save_path_fs()
|
||||
|
||||
22
mkdumprd
22
mkdumprd
@ -362,6 +362,17 @@ handle_default_dump_target()
|
||||
|
||||
_mntpoint=$(get_mntpoint_from_path $SAVE_PATH)
|
||||
_target=$(get_target_from_path $SAVE_PATH)
|
||||
|
||||
if is_atomic && is_bind_mount $_mntpoint; then
|
||||
SAVE_PATH=${SAVE_PATH##"$_mntpoint"}
|
||||
# the real dump path in the 2nd kernel, if the mount point is bind mounted.
|
||||
SAVE_PATH=$(get_bind_mount_directory $_mntpoint)/$SAVE_PATH
|
||||
_mntpoint=$(get_mntpoint_from_target $_target)
|
||||
|
||||
# the absolute path in the 1st kernel
|
||||
SAVE_PATH=$_mntpoint/$SAVE_PATH
|
||||
fi
|
||||
|
||||
if [ "$_mntpoint" != "/" ]; then
|
||||
SAVE_PATH=${SAVE_PATH##"$_mntpoint"}
|
||||
_fstype=$(get_fs_type_from_target $_target)
|
||||
@ -533,8 +544,17 @@ do
|
||||
if [ "$config_opt" = "nfs" ]; then
|
||||
add_dracut_module "nfs"
|
||||
fi
|
||||
|
||||
_absolute_save_path=$(make_absolute_save_path $config_val)
|
||||
_mntpoint=$(get_mntpoint_from_path $_absolute_save_path)
|
||||
if is_atomic && is_bind_mount $_mntpoint; then
|
||||
SAVE_PATH=${_absolute_save_path##"$_mntpoint"}
|
||||
# the real dump path in the 2nd kernel, if the mount point is bind mounted.
|
||||
SAVE_PATH=$(get_bind_mount_directory $_mntpoint)/$SAVE_PATH
|
||||
fi
|
||||
|
||||
add_mount "$config_val"
|
||||
check_save_path_fs $(make_absolute_save_path $config_val)
|
||||
check_save_path_fs $_absolute_save_path
|
||||
check_size fs $config_val
|
||||
;;
|
||||
raw)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user