From d6fdf33614ae76821fa61714576c7bfe782b6f90 Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Fri, 31 Jul 2020 16:44:01 +0800 Subject: [PATCH] fix panic on storage failed get host (#7390) --- pkg/compute/models/hosts.go | 2 +- pkg/compute/storagedrivers/rbd.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/compute/models/hosts.go b/pkg/compute/models/hosts.go index f347da7c44..2af62145ab 100644 --- a/pkg/compute/models/hosts.go +++ b/pkg/compute/models/hosts.go @@ -4970,7 +4970,7 @@ func (host *SHost) switchWithBackup(ctx context.Context, userCred mcclient.Token guests2 := host.GetGuestsBackupOnThisHost() for i := 0; i < len(guests2); i++ { if guests2[i].isInReconcile(userCred) { - log.Warningf("guest %s is in reconcile", guests[i].GetName()) + log.Warningf("guest %s is in reconcile", guests2[i].GetName()) continue } data := jsonutils.NewDict() diff --git a/pkg/compute/storagedrivers/rbd.go b/pkg/compute/storagedrivers/rbd.go index f8193b8c55..cf1d426651 100644 --- a/pkg/compute/storagedrivers/rbd.go +++ b/pkg/compute/storagedrivers/rbd.go @@ -211,6 +211,9 @@ func (self *SRbdStorageDriver) RequestCreateSnapshot(ctx context.Context, snapsh func (self *SRbdStorageDriver) RequestDeleteSnapshot(ctx context.Context, snapshot *models.SSnapshot, task taskman.ITask) error { storage := snapshot.GetStorage() host := storage.GetMasterHost() + if host == nil { + return errors.Errorf("storage %s can't get master host", storage.Id) + } url := fmt.Sprintf("%s/disks/%s/delete-snapshot/%s", host.ManagerUri, storage.Id, snapshot.DiskId) header := task.GetTaskRequestHeader() params := jsonutils.NewDict()