diff --git a/mxraid/mdcheck.safe b/mxraid/mdcheck.safe index 700c3e2..01eda55 100755 --- a/mxraid/mdcheck.safe +++ b/mxraid/mdcheck.safe @@ -160,7 +160,13 @@ do rm -f $fl continue; fi - echo idle > $sys/md/sync_action + echo idle > $sys/md/sync_action & + pid=$! + sleep 10 + if [ -d /proc/$pid -a "$(cat $sys/md/array_state)" = write-pending ]; then + logger -p daemon.info restart hanging $dev + echo active > $sys/md/array_state + fi cat $sys/md/sync_min > $fl logger -p daemon.info pause checking $dev at `cat $fl` done