make sure sync cannot block reboot

The recent discussed improvement has the risk that if 'sync' hangs, the reboot 
may be delayed in the same way as the 'reboot' command would do. To work 
around, we're adding a 5 second timeout. If it cannot sync in 5 seconds, it 
will not succeed anyway and we should proceed the reset.

@snuf: Could we use your OVM3 heartbeat script for other hypervisors as well? 
One way to do it seems like a nice idea :-)


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/43a9eb40
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/43a9eb40
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/43a9eb40

Branch: refs/heads/4.5
Commit: 43a9eb40b87adf470b9cbfbd75a12b48bd1bcb30
Parents: b236619
Author: Remi Bergsma <git...@remi.nl>
Authored: Thu Apr 9 12:18:21 2015 +0200
Committer: Daan Hoogland <dhoogl...@schubergphilis.com>
Committed: Fri Apr 10 15:14:08 2015 -0500

----------------------------------------------------------------------
 scripts/vm/hypervisor/kvm/kvmheartbeat.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/43a9eb40/scripts/vm/hypervisor/kvm/kvmheartbeat.sh
----------------------------------------------------------------------
diff --git a/scripts/vm/hypervisor/kvm/kvmheartbeat.sh 
b/scripts/vm/hypervisor/kvm/kvmheartbeat.sh
index ff6fd0a..7c8ee67 100755
--- a/scripts/vm/hypervisor/kvm/kvmheartbeat.sh
+++ b/scripts/vm/hypervisor/kvm/kvmheartbeat.sh
@@ -156,7 +156,8 @@ then
 elif [ "$cflag" == "1" ]
 then
   /usr/bin/logger -t heartbeat "kvmheartbeat.sh rebooted system because it was 
unable to write the heartbeat to the storage."
-  sync
+  sync &
+  sleep 5
   echo b > /proc/sysrq-trigger
   exit $?
 else

Reply via email to