We maintained kdump specific get persistent dev function, it is ready to drop it. Dracut upstream splitted dracut init stuff from dracut-functions.sh so that we can source it.
OTOH, dracut now has a persistent_policy feature, for kdump when we dump to raw disks we do not care the filesystem uuid and labels so we prefer to search disk id instead. Set the persistent_policy before calling get_persistent_dev will ensure kdump logic still works.
Tested filesystem and raw dump in kvm guests.
Signed-off-by: Dave Young dyoung@redhat.com --- kdump-lib.sh | 26 -------------------------- kdumpctl | 8 +++++++- mkdumprd | 10 ++++++---- 3 files changed, 13 insertions(+), 31 deletions(-)
--- kexec-tools.orig/kdump-lib.sh +++ kexec-tools/kdump-lib.sh @@ -88,32 +88,6 @@ to_dev_name() { echo $dev }
-kdump_get_persistent_dev() { - local i _tmp _dev _lookup_dirs - - _dev=$(udevadm info --query=name --name="$1" 2>/dev/null) - [ -z "$_dev" ] && { - perror_exit "Kernel dev name of $1 is not found." - } - - if [[ $2 = "raw" ]];then - _lookup_dirs="/dev/mapper/* /dev/disk/by-id/*" - else - _lookup_dirs="/dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*" - fi - - for i in $_lookup_dirs; do - _tmp=$(udevadm info --query=name --name="$i" 2>/dev/null) - if [ "$_tmp" = "$_dev" ]; then - echo $i - return - fi - done - - perror "WARNING: Persistent device name of $1 not found. Using $1 as dump target name" - echo $1 -} - get_user_configured_dump_disk() { local _target --- kexec-tools.orig/kdumpctl +++ kexec-tools/kdumpctl @@ -16,6 +16,8 @@ FADUMP_REGISTER_SYS_NODE="/sys/kernel/fa DEFAULT_DUMP_MODE="kdump" image_time=0
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh
standard_kexec_args="-p" @@ -416,7 +418,11 @@ check_dump_fs_modified() if [[ $(expr substr $_new_fstype 1 3) = "nfs" ]];then _new_dev=$_target else - _new_dev=$(kdump_get_persistent_dev $_target $_new_fstype) + _new_dev=$(get_persistent_dev $_target) + if [ -z "$_new_dev" ]; then + echo "Get persistent device name failed" + return 2 + fi fi
if ! findmnt $_target >/dev/null; then --- kexec-tools.orig/mkdumprd +++ kexec-tools/mkdumprd @@ -6,6 +6,8 @@ # Written by Cong Wang amwang@redhat.com #
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh export IN_KDUMP=1
@@ -127,8 +129,8 @@ to_mount() { _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name if [ -b "$_source" ]; then - _pdev="$(kdump_get_persistent_dev $_source $_fstype)" - if [ $? -ne 0 ]; then + _pdev="$(get_persistent_dev $_source)" + if [ -z "$_pdev" ]; then return 1 fi
@@ -532,8 +534,8 @@ do dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { perror_exit "Bad raw disk $config_val" } - _praw=$(kdump_get_persistent_dev $config_val "raw") - if [ $? -ne 0 ]; then + _praw=$(persistent_policy="by-id" get_persistent_dev $config_val) + if [ -z "$_praw" ]; then exit 1 fi add_dracut_arg "--device" "$_praw"
On 2016/11/11 at 12:54, Dave Young wrote:
We maintained kdump specific get persistent dev function, it is ready to drop it. Dracut upstream splitted dracut init stuff from dracut-functions.sh so that we can source it.
OTOH, dracut now has a persistent_policy feature, for kdump when we dump to raw disks we do not care the filesystem uuid and labels so we prefer to search disk id instead. Set the persistent_policy before calling get_persistent_dev will ensure kdump logic still works.
Tested filesystem and raw dump in kvm guests.
Signed-off-by: Dave Young dyoung@redhat.com
kdump-lib.sh | 26 -------------------------- kdumpctl | 8 +++++++- mkdumprd | 10 ++++++---- 3 files changed, 13 insertions(+), 31 deletions(-)
--- kexec-tools.orig/kdump-lib.sh +++ kexec-tools/kdump-lib.sh @@ -88,32 +88,6 @@ to_dev_name() { echo $dev }
-kdump_get_persistent_dev() {
- local i _tmp _dev _lookup_dirs
- _dev=$(udevadm info --query=name --name="$1" 2>/dev/null)
- [ -z "$_dev" ] && {
perror_exit "Kernel dev name of $1 is not found."
- }
- if [[ $2 = "raw" ]];then
- _lookup_dirs="/dev/mapper/* /dev/disk/by-id/*"
- else
- _lookup_dirs="/dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*"
- fi
- for i in $_lookup_dirs; do
_tmp=$(udevadm info --query=name --name="$i" 2>/dev/null)
if [ "$_tmp" = "$_dev" ]; then
echo $i
return
fi
- done
- perror "WARNING: Persistent device name of $1 not found. Using $1 as dump target name"
- echo $1
-}
get_user_configured_dump_disk() { local _target --- kexec-tools.orig/kdumpctl +++ kexec-tools/kdumpctl @@ -16,6 +16,8 @@ FADUMP_REGISTER_SYS_NODE="/sys/kernel/fa DEFAULT_DUMP_MODE="kdump" image_time=0
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh
standard_kexec_args="-p" @@ -416,7 +418,11 @@ check_dump_fs_modified() if [[ $(expr substr $_new_fstype 1 3) = "nfs" ]];then _new_dev=$_target else
_new_dev=$(kdump_get_persistent_dev $_target $_new_fstype)
_new_dev=$(get_persistent_dev $_target)
if [ -z "$_new_dev" ]; then
echo "Get persistent device name failed"
return 2
fi
fi
if ! findmnt $_target >/dev/null; then
--- kexec-tools.orig/mkdumprd +++ kexec-tools/mkdumprd @@ -6,6 +6,8 @@ # Written by Cong Wang amwang@redhat.com #
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh
There are two different versions of get_maj_min(): one is in /mkdumprd, another is in dracut-functions.sh We should do a cleanup to ensure consistency.
Regards, Xunlei
. /lib/kdump/kdump-lib.sh export IN_KDUMP=1
@@ -127,8 +129,8 @@ to_mount() { _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name if [ -b "$_source" ]; then
_pdev="$(kdump_get_persistent_dev $_source $_fstype)"
if [ $? -ne 0 ]; then
_pdev="$(get_persistent_dev $_source)"
if [ -z "$_pdev" ]; then return 1 fi
@@ -532,8 +534,8 @@ do dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { perror_exit "Bad raw disk $config_val" }
_praw=$(kdump_get_persistent_dev $config_val "raw")
if [ $? -ne 0 ]; then
_praw=$(persistent_policy="by-id" get_persistent_dev $config_val)
if [ -z "$_praw" ]; then exit 1 fi add_dracut_arg "--device" "$_praw"
kexec mailing list -- kexec@lists.fedoraproject.org To unsubscribe send an email to kexec-leave@lists.fedoraproject.org
On 11/14/16 at 12:17pm, Xunlei Pang wrote:
On 2016/11/11 at 12:54, Dave Young wrote:
We maintained kdump specific get persistent dev function, it is ready to drop it. Dracut upstream splitted dracut init stuff from dracut-functions.sh so that we can source it.
OTOH, dracut now has a persistent_policy feature, for kdump when we dump to raw disks we do not care the filesystem uuid and labels so we prefer to search disk id instead. Set the persistent_policy before calling get_persistent_dev will ensure kdump logic still works.
Tested filesystem and raw dump in kvm guests.
Signed-off-by: Dave Young dyoung@redhat.com
kdump-lib.sh | 26 -------------------------- kdumpctl | 8 +++++++- mkdumprd | 10 ++++++---- 3 files changed, 13 insertions(+), 31 deletions(-)
--- kexec-tools.orig/kdump-lib.sh +++ kexec-tools/kdump-lib.sh @@ -88,32 +88,6 @@ to_dev_name() { echo $dev }
-kdump_get_persistent_dev() {
- local i _tmp _dev _lookup_dirs
- _dev=$(udevadm info --query=name --name="$1" 2>/dev/null)
- [ -z "$_dev" ] && {
perror_exit "Kernel dev name of $1 is not found."
- }
- if [[ $2 = "raw" ]];then
- _lookup_dirs="/dev/mapper/* /dev/disk/by-id/*"
- else
- _lookup_dirs="/dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*"
- fi
- for i in $_lookup_dirs; do
_tmp=$(udevadm info --query=name --name="$i" 2>/dev/null)
if [ "$_tmp" = "$_dev" ]; then
echo $i
return
fi
- done
- perror "WARNING: Persistent device name of $1 not found. Using $1 as dump target name"
- echo $1
-}
get_user_configured_dump_disk() { local _target --- kexec-tools.orig/kdumpctl +++ kexec-tools/kdumpctl @@ -16,6 +16,8 @@ FADUMP_REGISTER_SYS_NODE="/sys/kernel/fa DEFAULT_DUMP_MODE="kdump" image_time=0
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh
standard_kexec_args="-p" @@ -416,7 +418,11 @@ check_dump_fs_modified() if [[ $(expr substr $_new_fstype 1 3) = "nfs" ]];then _new_dev=$_target else
_new_dev=$(kdump_get_persistent_dev $_target $_new_fstype)
_new_dev=$(get_persistent_dev $_target)
if [ -z "$_new_dev" ]; then
echo "Get persistent device name failed"
return 2
fi
fi
if ! findmnt $_target >/dev/null; then
--- kexec-tools.orig/mkdumprd +++ kexec-tools/mkdumprd @@ -6,6 +6,8 @@ # Written by Cong Wang amwang@redhat.com #
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh
There are two different versions of get_maj_min(): one is in /mkdumprd, another is in dracut-functions.sh We should do a cleanup to ensure consistency.
Good catch, I'm retesting, will send an update to drop get_maj_min as well.
Thanks Dave
Regards, Xunlei
. /lib/kdump/kdump-lib.sh export IN_KDUMP=1
@@ -127,8 +129,8 @@ to_mount() { _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name if [ -b "$_source" ]; then
_pdev="$(kdump_get_persistent_dev $_source $_fstype)"
if [ $? -ne 0 ]; then
_pdev="$(get_persistent_dev $_source)"
if [ -z "$_pdev" ]; then return 1 fi
@@ -532,8 +534,8 @@ do dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { perror_exit "Bad raw disk $config_val" }
_praw=$(kdump_get_persistent_dev $config_val "raw")
if [ $? -ne 0 ]; then
_praw=$(persistent_policy="by-id" get_persistent_dev $config_val)
if [ -z "$_praw" ]; then exit 1 fi add_dracut_arg "--device" "$_praw"
kexec mailing list -- kexec@lists.fedoraproject.org To unsubscribe send an email to kexec-leave@lists.fedoraproject.org
On 2016/11/14 at 12:58, Dave Young wrote:
On 11/14/16 at 12:17pm, Xunlei Pang wrote:
On 2016/11/11 at 12:54, Dave Young wrote:
We maintained kdump specific get persistent dev function, it is ready to drop it. Dracut upstream splitted dracut init stuff from dracut-functions.sh so that we can source it.
OTOH, dracut now has a persistent_policy feature, for kdump when we dump to raw disks we do not care the filesystem uuid and labels so we prefer to search disk id instead. Set the persistent_policy before calling get_persistent_dev will ensure kdump logic still works.
Tested filesystem and raw dump in kvm guests.
Signed-off-by: Dave Young dyoung@redhat.com
kdump-lib.sh | 26 -------------------------- kdumpctl | 8 +++++++- mkdumprd | 10 ++++++---- 3 files changed, 13 insertions(+), 31 deletions(-)
--- kexec-tools.orig/kdump-lib.sh +++ kexec-tools/kdump-lib.sh @@ -88,32 +88,6 @@ to_dev_name() { echo $dev }
-kdump_get_persistent_dev() {
- local i _tmp _dev _lookup_dirs
- _dev=$(udevadm info --query=name --name="$1" 2>/dev/null)
- [ -z "$_dev" ] && {
perror_exit "Kernel dev name of $1 is not found."
- }
- if [[ $2 = "raw" ]];then
- _lookup_dirs="/dev/mapper/* /dev/disk/by-id/*"
- else
- _lookup_dirs="/dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*"
- fi
- for i in $_lookup_dirs; do
_tmp=$(udevadm info --query=name --name="$i" 2>/dev/null)
if [ "$_tmp" = "$_dev" ]; then
echo $i
return
fi
- done
- perror "WARNING: Persistent device name of $1 not found. Using $1 as dump target name"
- echo $1
-}
get_user_configured_dump_disk() { local _target --- kexec-tools.orig/kdumpctl +++ kexec-tools/kdumpctl @@ -16,6 +16,8 @@ FADUMP_REGISTER_SYS_NODE="/sys/kernel/fa DEFAULT_DUMP_MODE="kdump" image_time=0
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh
standard_kexec_args="-p" @@ -416,7 +418,11 @@ check_dump_fs_modified() if [[ $(expr substr $_new_fstype 1 3) = "nfs" ]];then _new_dev=$_target else
_new_dev=$(kdump_get_persistent_dev $_target $_new_fstype)
_new_dev=$(get_persistent_dev $_target)
if [ -z "$_new_dev" ]; then
echo "Get persistent device name failed"
return 2
fi
fi
if ! findmnt $_target >/dev/null; then
--- kexec-tools.orig/mkdumprd +++ kexec-tools/mkdumprd @@ -6,6 +6,8 @@ # Written by Cong Wang amwang@redhat.com #
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh
There are two different versions of get_maj_min(): one is in /mkdumprd, another is in dracut-functions.sh We should do a cleanup to ensure consistency.
Good catch, I'm retesting, will send an update to drop get_maj_min as well.
I did further comparing with kexec-tools and dracut-function.sh using some shell commands, as if the similar ones are: mkdumprd:82:strstr() { [[ $1 =~ $2 ]]; } mkdumprd:265:get_maj_min() { kdump-lib.sh:91:kdump_get_persistent_dev() { mkdumprd:301:check_block_and_slaves() { mkdumprd:278:check_vol_slaves() { kdump-lib.sh:91:kdump_get_persistent_dev() {
Thanks Dave
Regards, Xunlei
. /lib/kdump/kdump-lib.sh export IN_KDUMP=1
@@ -127,8 +129,8 @@ to_mount() { _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name if [ -b "$_source" ]; then
_pdev="$(kdump_get_persistent_dev $_source $_fstype)"
if [ $? -ne 0 ]; then
_pdev="$(get_persistent_dev $_source)"
if [ -z "$_pdev" ]; then return 1 fi
@@ -532,8 +534,8 @@ do dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { perror_exit "Bad raw disk $config_val" }
_praw=$(kdump_get_persistent_dev $config_val "raw")
if [ $? -ne 0 ]; then
_praw=$(persistent_policy="by-id" get_persistent_dev $config_val)
if [ -z "$_praw" ]; then exit 1 fi add_dracut_arg "--device" "$_praw"
kexec mailing list -- kexec@lists.fedoraproject.org To unsubscribe send an email to kexec-leave@lists.fedoraproject.org
On 11/14/16 at 03:22pm, Xunlei Pang wrote:
On 2016/11/14 at 12:58, Dave Young wrote:
On 11/14/16 at 12:17pm, Xunlei Pang wrote:
On 2016/11/11 at 12:54, Dave Young wrote:
We maintained kdump specific get persistent dev function, it is ready to drop it. Dracut upstream splitted dracut init stuff from dracut-functions.sh so that we can source it.
OTOH, dracut now has a persistent_policy feature, for kdump when we dump to raw disks we do not care the filesystem uuid and labels so we prefer to search disk id instead. Set the persistent_policy before calling get_persistent_dev will ensure kdump logic still works.
Tested filesystem and raw dump in kvm guests.
Signed-off-by: Dave Young dyoung@redhat.com
kdump-lib.sh | 26 -------------------------- kdumpctl | 8 +++++++- mkdumprd | 10 ++++++---- 3 files changed, 13 insertions(+), 31 deletions(-)
--- kexec-tools.orig/kdump-lib.sh +++ kexec-tools/kdump-lib.sh @@ -88,32 +88,6 @@ to_dev_name() { echo $dev }
-kdump_get_persistent_dev() {
- local i _tmp _dev _lookup_dirs
- _dev=$(udevadm info --query=name --name="$1" 2>/dev/null)
- [ -z "$_dev" ] && {
perror_exit "Kernel dev name of $1 is not found."
- }
- if [[ $2 = "raw" ]];then
- _lookup_dirs="/dev/mapper/* /dev/disk/by-id/*"
- else
- _lookup_dirs="/dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*"
- fi
- for i in $_lookup_dirs; do
_tmp=$(udevadm info --query=name --name="$i" 2>/dev/null)
if [ "$_tmp" = "$_dev" ]; then
echo $i
return
fi
- done
- perror "WARNING: Persistent device name of $1 not found. Using $1 as dump target name"
- echo $1
-}
get_user_configured_dump_disk() { local _target --- kexec-tools.orig/kdumpctl +++ kexec-tools/kdumpctl @@ -16,6 +16,8 @@ FADUMP_REGISTER_SYS_NODE="/sys/kernel/fa DEFAULT_DUMP_MODE="kdump" image_time=0
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh
standard_kexec_args="-p" @@ -416,7 +418,11 @@ check_dump_fs_modified() if [[ $(expr substr $_new_fstype 1 3) = "nfs" ]];then _new_dev=$_target else
_new_dev=$(kdump_get_persistent_dev $_target $_new_fstype)
_new_dev=$(get_persistent_dev $_target)
if [ -z "$_new_dev" ]; then
echo "Get persistent device name failed"
return 2
fi
fi
if ! findmnt $_target >/dev/null; then
--- kexec-tools.orig/mkdumprd +++ kexec-tools/mkdumprd @@ -6,6 +6,8 @@ # Written by Cong Wang amwang@redhat.com #
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh
There are two different versions of get_maj_min(): one is in /mkdumprd, another is in dracut-functions.sh We should do a cleanup to ensure consistency.
Good catch, I'm retesting, will send an update to drop get_maj_min as well.
I did further comparing with kexec-tools and dracut-function.sh using some shell commands, as if the similar ones are: mkdumprd:82:strstr() { [[ $1 =~ $2 ]]; } mkdumprd:265:get_maj_min() { kdump-lib.sh:91:kdump_get_persistent_dev() { mkdumprd:301:check_block_and_slaves() { mkdumprd:278:check_vol_slaves() { kdump-lib.sh:91:kdump_get_persistent_dev() {
check_block_* check_vol_* wered copied from dracut functions before because we can not simply source the dracut-functions.sh in the old days I remember I have send the kdump invented check_block_and_slave_all to dracut but not sure why check_block_and_slaves is still in Fedora kexec-tools..
But it sounds reasonalbe to drop them all. Will send an appending patch for other functions after a test.
Thanks a lot!
Thanks Dave
Regards, Xunlei
. /lib/kdump/kdump-lib.sh export IN_KDUMP=1
@@ -127,8 +129,8 @@ to_mount() { _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name if [ -b "$_source" ]; then
_pdev="$(kdump_get_persistent_dev $_source $_fstype)"
if [ $? -ne 0 ]; then
_pdev="$(get_persistent_dev $_source)"
if [ -z "$_pdev" ]; then return 1 fi
@@ -532,8 +534,8 @@ do dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { perror_exit "Bad raw disk $config_val" }
_praw=$(kdump_get_persistent_dev $config_val "raw")
if [ $? -ne 0 ]; then
_praw=$(persistent_policy="by-id" get_persistent_dev $config_val)
if [ -z "$_praw" ]; then exit 1 fi add_dracut_arg "--device" "$_praw"
kexec mailing list -- kexec@lists.fedoraproject.org To unsubscribe send an email to kexec-leave@lists.fedoraproject.org
On 2016/11/14 at 15:49, Dave Young wrote:
On 11/14/16 at 03:22pm, Xunlei Pang wrote:
On 2016/11/14 at 12:58, Dave Young wrote:
On 11/14/16 at 12:17pm, Xunlei Pang wrote:
On 2016/11/11 at 12:54, Dave Young wrote:
We maintained kdump specific get persistent dev function, it is ready to drop it. Dracut upstream splitted dracut init stuff from dracut-functions.sh so that we can source it.
OTOH, dracut now has a persistent_policy feature, for kdump when we dump to raw disks we do not care the filesystem uuid and labels so we prefer to search disk id instead. Set the persistent_policy before calling get_persistent_dev will ensure kdump logic still works.
Tested filesystem and raw dump in kvm guests.
Signed-off-by: Dave Young dyoung@redhat.com
kdump-lib.sh | 26 -------------------------- kdumpctl | 8 +++++++- mkdumprd | 10 ++++++---- 3 files changed, 13 insertions(+), 31 deletions(-)
--- kexec-tools.orig/kdump-lib.sh +++ kexec-tools/kdump-lib.sh @@ -88,32 +88,6 @@ to_dev_name() { echo $dev }
-kdump_get_persistent_dev() {
- local i _tmp _dev _lookup_dirs
- _dev=$(udevadm info --query=name --name="$1" 2>/dev/null)
- [ -z "$_dev" ] && {
perror_exit "Kernel dev name of $1 is not found."
- }
- if [[ $2 = "raw" ]];then
- _lookup_dirs="/dev/mapper/* /dev/disk/by-id/*"
- else
- _lookup_dirs="/dev/mapper/* /dev/disk/by-uuid/* /dev/disk/by-id/*"
- fi
- for i in $_lookup_dirs; do
_tmp=$(udevadm info --query=name --name="$i" 2>/dev/null)
if [ "$_tmp" = "$_dev" ]; then
echo $i
return
fi
- done
- perror "WARNING: Persistent device name of $1 not found. Using $1 as dump target name"
- echo $1
-}
get_user_configured_dump_disk() { local _target --- kexec-tools.orig/kdumpctl +++ kexec-tools/kdumpctl @@ -16,6 +16,8 @@ FADUMP_REGISTER_SYS_NODE="/sys/kernel/fa DEFAULT_DUMP_MODE="kdump" image_time=0
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh . /lib/kdump/kdump-lib.sh
standard_kexec_args="-p" @@ -416,7 +418,11 @@ check_dump_fs_modified() if [[ $(expr substr $_new_fstype 1 3) = "nfs" ]];then _new_dev=$_target else
_new_dev=$(kdump_get_persistent_dev $_target $_new_fstype)
_new_dev=$(get_persistent_dev $_target)
if [ -z "$_new_dev" ]; then
echo "Get persistent device name failed"
return 2
fi
fi
if ! findmnt $_target >/dev/null; then
--- kexec-tools.orig/mkdumprd +++ kexec-tools/mkdumprd @@ -6,6 +6,8 @@ # Written by Cong Wang amwang@redhat.com #
+[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut +. $dracutbasedir/dracut-functions.sh
There are two different versions of get_maj_min(): one is in /mkdumprd, another is in dracut-functions.sh We should do a cleanup to ensure consistency.
Good catch, I'm retesting, will send an update to drop get_maj_min as well.
I did further comparing with kexec-tools and dracut-function.sh using some shell commands, as if the similar ones are: mkdumprd:82:strstr() { [[ $1 =~ $2 ]]; } mkdumprd:265:get_maj_min() { kdump-lib.sh:91:kdump_get_persistent_dev() { mkdumprd:301:check_block_and_slaves() { mkdumprd:278:check_vol_slaves() { kdump-lib.sh:91:kdump_get_persistent_dev() {
check_block_* check_vol_* wered copied from dracut functions before because we can not simply source the dracut-functions.sh in the old days I remember I have send the kdump invented check_block_and_slave_all to dracut but not sure why check_block_and_slaves is still in Fedora kexec-tools..
But it sounds reasonalbe to drop them all. Will send an appending patch for other functions after a test.
Yes, agree.
Thanks a lot!
Thanks Dave
Regards, Xunlei
. /lib/kdump/kdump-lib.sh export IN_KDUMP=1
@@ -127,8 +129,8 @@ to_mount() { _mntopts="$_target $_fstype $_options" #for non-nfs _dev converting to use udev persistent name if [ -b "$_source" ]; then
_pdev="$(kdump_get_persistent_dev $_source $_fstype)"
if [ $? -ne 0 ]; then
_pdev="$(get_persistent_dev $_source)"
if [ -z "$_pdev" ]; then return 1 fi
@@ -532,8 +534,8 @@ do dd if=$config_val count=1 of=/dev/null > /dev/null 2>&1 || { perror_exit "Bad raw disk $config_val" }
_praw=$(kdump_get_persistent_dev $config_val "raw")
if [ $? -ne 0 ]; then
_praw=$(persistent_policy="by-id" get_persistent_dev $config_val)
if [ -z "$_praw" ]; then exit 1 fi add_dracut_arg "--device" "$_praw"
kexec mailing list -- kexec@lists.fedoraproject.org To unsubscribe send an email to kexec-leave@lists.fedoraproject.org