From 85d5b6e707cfc606bedef487dcce7d3a4f6effd7 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Fri, 22 Oct 2021 11:19:10 +0800 Subject: [PATCH] fix(host): disk snapshot file locking off --- pkg/hostman/guestman/qemu-arm.go | 2 +- pkg/hostman/guestman/qemu-kvmhelper.go | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/hostman/guestman/qemu-arm.go b/pkg/hostman/guestman/qemu-arm.go index 4ef3b4ee54..7147239c8c 100644 --- a/pkg/hostman/guestman/qemu-arm.go +++ b/pkg/hostman/guestman/qemu-arm.go @@ -248,7 +248,7 @@ func (s *SKVMGuestInstance) generateArmStartScript(data *jsonutils.JSONDict) (st for _, disk := range disks { format, _ := disk.GetString("format") - cmd += s.getDriveDesc(disk, format) + cmd += s.getDriveDesc(disk, format, true) cmd += s.getArmVdiskDesc(disk) } diff --git a/pkg/hostman/guestman/qemu-kvmhelper.go b/pkg/hostman/guestman/qemu-kvmhelper.go index 152eccba3b..c200556079 100644 --- a/pkg/hostman/guestman/qemu-kvmhelper.go +++ b/pkg/hostman/guestman/qemu-kvmhelper.go @@ -163,7 +163,7 @@ func (s *SKVMGuestInstance) disablePvpanicDev() bool { return val == "true" } -func (s *SKVMGuestInstance) getDriveDesc(disk jsonutils.JSONObject, format string) string { +func (s *SKVMGuestInstance) getDriveDesc(disk jsonutils.JSONObject, format string, fileLockingOff bool) string { diskIndex, _ := disk.Int("index") cacheMode, _ := disk.GetString("cache_mode") aioMode, _ := disk.GetString("aio_mode") @@ -182,6 +182,9 @@ func (s *SKVMGuestInstance) getDriveDesc(disk jsonutils.JSONObject, format strin if disk.Contains("url") { // # a remote file backed image cmd += ",copy-on-read=on" } + if fileLockingOff { + cmd += ",file.locking=off" + } // #cmd += ",media=disk" return cmd } @@ -616,7 +619,7 @@ function nic_mtu() { for _, disk := range disks { format, _ := disk.GetString("format") - cmd += s.getDriveDesc(disk, format) + cmd += s.getDriveDesc(disk, format, false) cmd += s.getVdiskDesc(disk) }