Fix dump_fs mount point detection and fallback mount
Simplify the code and fix mount point detection. The code logic is now much simpler: if $1 is not a mount point, call "mount --target $1" again to try mount it. "mount --target" cmd itself can handle all the /etc/fstab parsing job, so drop the buggy and complex bash code. Signed-off-by: Kairui Song <kasong@redhat.com> Acked-by: Pingfan Liu <piliu@redhat.com>
This commit is contained in:
parent
7f1f8f229f
commit
e8ef4db8ff
@ -117,26 +117,15 @@ dump_fs()
|
|||||||
{
|
{
|
||||||
local _exitcode
|
local _exitcode
|
||||||
local _mp=$1
|
local _mp=$1
|
||||||
local _dev=$(get_mount_info SOURCE target $_mp -f)
|
ddebug "dump_fs _mp=$_mp"
|
||||||
local _op=$(get_mount_info OPTIONS target $_mp -f)
|
|
||||||
|
|
||||||
ddebug "_mp=$_mp _dev=$_dev _op=$_op"
|
if ! is_mounted "$_mp"; then
|
||||||
|
dinfo "dump path \"$_mp\" is not mounted, trying to mount..."
|
||||||
# If dump path have a corresponding device entry but not mounted, mount it.
|
mount --target $_mp
|
||||||
if [ -n "$_dev" ] && [ "$_dev" != "rootfs" ]; then
|
if [ $? -ne 0 ]; then
|
||||||
if ! is_mounted "$_mp"; then
|
derror "failed to dump to \"$_mp\", it's not a mount point!"
|
||||||
dinfo "dump target $_dev is not mounted, trying to mount..."
|
return 1
|
||||||
mkdir -p $_mp
|
|
||||||
mount -o $_op $_dev $_mp
|
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
derror "mounting failed (mount point: $_mp, option: $_op)"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
else
|
|
||||||
derror "failed to dump to \"$_mp\", it's not a mount point!"
|
|
||||||
return 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Remove -F in makedumpfile case. We don't want a flat format dump here.
|
# Remove -F in makedumpfile case. We don't want a flat format dump here.
|
||||||
|
Loading…
Reference in New Issue
Block a user