diff --git a/hyper-v.changes b/hyper-v.changes index 5873e23..8d32238 100644 --- a/hyper-v.changes +++ b/hyper-v.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Aug 12 16:56:08 CEST 2013 - ohering@suse.de + +- Skip restart_on_update with old hyper-v.rpms while old + kernel is running (bnc#770763) + ------------------------------------------------------------------- Wed Aug 7 19:04:35 CEST 2013 - ohering@suse.de diff --git a/hyper-v.init.sh b/hyper-v.init.sh index b3e519e..7eb31bf 100644 --- a/hyper-v.init.sh +++ b/hyper-v.init.sh @@ -29,8 +29,27 @@ rc_reset case "$1" in start) echo -n "Starting Hyper-V KVP daemon " - env PATH=/usr/lib/hyper-v/bin:$PATH \ - startproc $HV_KVP_BIN + # The service can not be restarted + # IF the currently running kernel is too old, the new daemon is started + # anyway. Due to a flaw in the old kernel-user protocol the kernel + # will flood /var/log/messages with messages like: + # "hv_utils: KVP: user-mode registering done." + # This is also caused by old hyper-v.rpms which have a restart command + # in their post install script. Catch those old kernels and avoid the + # flood, which will easily fill the root partition during an upgrade. + case "`uname -r`" in + 2.*) rc_failed 3 ;; + 3.0.13-*) rc_failed 3 ;; + 3.0.26-*) rc_failed 3 ;; + 3.0.31-*) rc_failed 3 ;; + 3.0.34-*) rc_failed 3 ;; + 3.0.38-*) rc_failed 3 ;; + 3.0.42-*) rc_failed 3 ;; + *) + env PATH=/usr/lib/hyper-v/bin:$PATH \ + startproc $HV_KVP_BIN + ;; + esac rc_status -v ;; stop)