diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index 756b552b3f2..99102eb7719 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -5675,7 +5675,7 @@ func (self *SGuest) validateCreateInstanceSnapshot( } } - if len(self.BackupHostId) > 0 { + if len(self.BackupHostId) > 0 || self.GetMetadata(ctx, api.QUORUM_CHILD_INDEX, userCred) != "" { return nil, input, httperrors.NewBadRequestError("Can't do instance snapshot with backup guest") } diff --git a/pkg/compute/storagedrivers/base.go b/pkg/compute/storagedrivers/base.go index 5404710b5d8..910239813e4 100644 --- a/pkg/compute/storagedrivers/base.go +++ b/pkg/compute/storagedrivers/base.go @@ -63,7 +63,7 @@ func (self *SBaseStorageDriver) ValidateCreateSnapshotData(ctx context.Context, return httperrors.NewBadRequestError("Disk %s is not attached to a guest", disk.Id) } guest := guests[0] - if len(guest.BackupHostId) > 0 { + if len(guest.BackupHostId) > 0 || guest.GetMetadata(ctx, api.QUORUM_CHILD_INDEX, userCred) != "" { return httperrors.NewBadRequestError( "Disk attached Guest has backup, Can't create snapshot") }