24eaa7da8f
Resolves: bz805783 kdumpctl: save_raw if found vmcore mkdumprd: checking available size of raw disk dracut module: do the dumping Note, add a dir /kdumpscripts for monitor_dd_progress and future kdump scripts [v1->v2]: monitor_dd_process become a script instead of a function add missed utils use pipe with dc [v2->v3]: Don: fix dd_progress_file typo Vivek: move [ -f $conf_file ] earlier don't split keyfile= and [ -f keyfile ] move default core_collector earlier move non-makedumpfile warnings to mkdumprd make check available size a common function Amerigo: use less pipe for grep then awk print use shell (( )) instead of dc use cut instead of awk no need install dc and awk make DD_BLKSIZE a variable don't add 0755 file in git, chmod in module-setup.sh [v3->v4]: vivek: kdumpctl multi raw target handling monitor_dd_progress- fix wrong size calculation: the tail -1 of dd pregress file is in bytes instead of blocks only print the whole dd src file size for non-filtered case check [ -b raw target device ] before dump [v4->v5]: vivek: move check [ -b $1 ] before monitor_dd_progress remove multi target function [v5->v6]: vivek: only warning for raw dump of non-makedumpfile core_collector [v6->v7]: kdumpctl should return 0 when there's no raw target Signed-off-by: Dave Young <dyoung@redhat.com> Acked-by: Vivek Goyal <vgoyal@redhat.com>
27 lines
439 B
Bash
27 lines
439 B
Bash
#!/bin/sh
|
|
|
|
SRC_FILE_MB=$1
|
|
|
|
while true
|
|
do
|
|
DD_PID=`pidof dd`
|
|
if [ -n "$DD_PID" ]; then
|
|
break
|
|
fi
|
|
done
|
|
|
|
while true
|
|
do
|
|
sleep 5
|
|
if [ ! -d /proc/$DD_PID ]; then
|
|
break
|
|
fi
|
|
|
|
kill -s USR1 $DD_PID
|
|
CURRENT_SIZE=`tail -n 1 /tmp/dd_progress_file | sed "s/[^0-9].*//g"`
|
|
CURRENT_MB=$(($CURRENT_SIZE / 1048576))
|
|
echo -n -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r"
|
|
done
|
|
|
|
rm -f /tmp/dd_progress_file
|