From 1641c178b9925c390e626c56256fd4bc2b506aaa Mon Sep 17 00:00:00 2001 From: wanyaoqi <18528551+wanyaoqi@users.noreply.github.com> Date: Wed, 9 Oct 2024 21:48:37 +0800 Subject: [PATCH] fix(region): check disk is deleted on delete snapshot (#21367) --- pkg/compute/storagedrivers/base.go | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/pkg/compute/storagedrivers/base.go b/pkg/compute/storagedrivers/base.go index 01be1c30e8..d262c5d2c7 100644 --- a/pkg/compute/storagedrivers/base.go +++ b/pkg/compute/storagedrivers/base.go @@ -113,15 +113,16 @@ func (self *SBaseStorageDriver) RequestDeleteSnapshot(ctx context.Context, snaps if err != nil && err != sql.ErrNoRows { return errors.Wrap(err, "get disk by snapshot") } - sDisk, _ := disk.(*models.SDisk) - if sDisk.IsEncrypted() { - if encryptInfo, err := sDisk.GetEncryptInfo(ctx, task.GetUserCred()); err != nil { - return errors.Wrap(err, "faild get encryptInfo") - } else { - params.Set("encrypt_info", jsonutils.Marshal(encryptInfo)) + if disk != nil { + sDisk, _ := disk.(*models.SDisk) + if sDisk.IsEncrypted() { + if encryptInfo, err := sDisk.GetEncryptInfo(ctx, task.GetUserCred()); err != nil { + return errors.Wrap(err, "faild get encryptInfo") + } else { + params.Set("encrypt_info", jsonutils.Marshal(encryptInfo)) + } } } - if !snapshot.OutOfChain { if convertSnapshot != nil { params.Set("convert_snapshot", jsonutils.NewString(convertSnapshot.Id))