From 9decfea3e21e2ed7e97246a816e82837515bca05 Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Thu, 28 Nov 2019 11:19:43 +0800 Subject: [PATCH] add lock on host detected offline --- pkg/compute/models/hosts.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index 053543e83d..e47ca73aac 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -4283,11 +4283,13 @@ func (manager *SHostManager) PingDetectionTask(ctx context.Context, userCred mcc defer rows.Close() for rows.Next() { - var host = SHost{} - q.Row2Struct(rows, &host) - host.SetModelManager(manager, &host) + var host = new(SHost) + q.Row2Struct(rows, host) + host.SetModelManager(manager, host) + lockman.LockObject(ctx, host) host.PerformOffline(ctx, userCred, nil, nil) host.MarkGuestUnknown(userCred) + lockman.ReleaseObject(ctx, host) } }