From 2909bf0f4a44855b11db35344758228b9cfcbde6 Mon Sep 17 00:00:00 2001 From: wanyaoqi <18528551+wanyaoqi@users.noreply.github.com> Date: Thu, 11 May 2023 11:01:57 +0800 Subject: [PATCH] fix(host): check running guest kvm off option (#16988) --- pkg/hostman/guestman/qemu-kvmhelper.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/hostman/guestman/qemu-kvmhelper.go b/pkg/hostman/guestman/qemu-kvmhelper.go index 03cef976a0..8b603c82c5 100644 --- a/pkg/hostman/guestman/qemu-kvmhelper.go +++ b/pkg/hostman/guestman/qemu-kvmhelper.go @@ -40,6 +40,7 @@ import ( "yunion.io/x/onecloud/pkg/hostman/monitor" "yunion.io/x/onecloud/pkg/hostman/options" "yunion.io/x/onecloud/pkg/hostman/storageman" + "yunion.io/x/onecloud/pkg/util/fileutils2" "yunion.io/x/onecloud/pkg/util/procutils" "yunion.io/x/onecloud/pkg/util/qemutils" ) @@ -134,6 +135,13 @@ func (s *SKVMGuestInstance) HideKVM() bool { if s.hasGPU() { return true } + if s.IsRunning() && s.IsMonitorAlive() { + cmdline, _ := fileutils2.FileGetContents(path.Join("/proc", strconv.Itoa(s.GetPid()), "cmdline")) + if strings.Contains(cmdline, "kvm=off") { + return true + } + } + return false }