From e7ce3fd9d8de1c9358d8c5820fda601a7abe2319 Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Fri, 23 Oct 2020 18:23:18 +0800 Subject: [PATCH] check disk is in reset before delete snapshot --- pkg/compute/models/snapshots.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/compute/models/snapshots.go b/pkg/compute/models/snapshots.go index a5aa5de72d..dfab4118eb 100644 --- a/pkg/compute/models/snapshots.go +++ b/pkg/compute/models/snapshots.go @@ -621,6 +621,11 @@ func (self *SSnapshot) ValidateDeleteCondition(ctx context.Context) error { if count > 0 { return httperrors.NewBadRequestError("snapshot referenced by instance snapshot") } + if disk, err := self.GetDisk(); err == nil { + if disk.Status == api.DISK_RESET { + return httperrors.NewBadRequestError("Cannot delete snapshot on disk reset") + } + } driver := self.GetRegionDriver() if driver != nil { return driver.ValidateSnapshotDelete(ctx, self)