[kexec-tools] Handle rootfs correctly
Cong Wang
wangcong at fedoraproject.org
Wed Jan 25 04:19:00 UTC 2012
commit 2630148dc7f93d43282c07a968a86e5a52bf2192
Author: Cong Wang <xiyou.wangcong at gmail.com>
Date: Wed Jan 25 12:18:51 2012 +0800
Handle rootfs correctly
kexec-tools.spec | 5 ++++-
mkdumprd | 19 +++++++++++++++++--
2 files changed, 21 insertions(+), 3 deletions(-)
---
diff --git a/kexec-tools.spec b/kexec-tools.spec
index b3142d9..19e5fe8 100644
--- a/kexec-tools.spec
+++ b/kexec-tools.spec
@@ -1,6 +1,6 @@
Name: kexec-tools
Version: 2.0.3
-Release: 32%{?dist}
+Release: 33%{?dist}
License: GPLv2
Group: Applications/System
Summary: The kexec/kdump userspace component.
@@ -289,6 +289,9 @@ done
%changelog
+* Wed Jan 25 2012 Cong Wang <xiyou.wangcong at gmail.com> - 2.0.2-33
+- Handle rootfs correctly.
+
* Tue Jan 10 2012 Cong Wang <xiyou.wangcong at gmail.com> - 2.0.2-32
- Fix add_dracut_arg in mkdumprd.
diff --git a/mkdumprd b/mkdumprd
index d621f00..890acaa 100644
--- a/mkdumprd
+++ b/mkdumprd
@@ -65,6 +65,10 @@ to_dev_name() {
echo $dev
}
+get_rootdev() {
+ mount | grep 'on / ' | grep -v rootfs | awk '{print $1}'
+}
+
to_mount() {
local _dev=$(to_dev_name $1)
echo "$(grep "$_dev" /proc/mounts | cut -d' ' -f1-4)"
@@ -75,6 +79,7 @@ check_remote() {
return
}
+add_dracut_mount "$(to_mount "$(get_rootdev)")"
if [ -n "$conf_file" ]; then
while read config_opt config_val;
do
@@ -83,7 +88,16 @@ if [ -n "$conf_file" ]; then
extra_modules="$extra_modules $config_val"
;;
ext[234]|xfs|btrfs|minix)
- add_dracut_mount "$(to_mount $config_val)"
+ _dev=$(to_dev_name "$config_val")
+ _mnt=$(to_mount "$config_val")
+ if [ "$_dev" = "$(get_rootdev)" ]; then
+ :
+ elif [ -n "$_mnt" ]; then
+ add_dracut_mount "$_mnt"
+ else
+ echo "Dump target $config_val is probably not mounted."
+ exit 1
+ fi
;;
raw)
#TODO
@@ -120,6 +134,7 @@ then
fi
dracut "${dracut_args[@]}" -M "$@"
+_rc=$?
sync
-exit $?
+exit $_rc
More information about the scm-commits
mailing list