diff --git a/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java b/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java index e0e52c8ec8..1672596d72 100755 --- a/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java +++ b/storage/src/main/java/org/zstack/storage/volume/VolumeCascadeExtension.java @@ -141,7 +141,7 @@ private List volumesCleanupFromAction(CascadeAction action) { } volumeUuids = ResourceHelper.findOwnResourceUuidList(VolumeEO.class, auuids, - q -> q.eq(VolumeVO_.type, VolumeType.Data)); + q -> q.in(VolumeVO_.type, Arrays.asList(VolumeType.Data, VolumeType.Memory))); return volumeUuids; } @@ -168,7 +168,7 @@ private List volumesFromAction(CascadeAction action) { List psUuids = CollectionUtils.transform(pinvs, PrimaryStorageInventory::getUuid); SimpleQuery q = dbf.createQuery(VolumeVO.class); - q.add(VolumeVO_.type, Op.EQ, VolumeType.Data); + q.add(VolumeVO_.type, Op.IN, Arrays.asList(VolumeType.Data, VolumeType.Memory)); q.add(VolumeVO_.primaryStorageUuid, Op.IN, psUuids); List vos = q.list(); return toVolumeDeletionStruct(action, vos); @@ -176,7 +176,8 @@ private List volumesFromAction(CascadeAction action) { final List auuids = CollectionUtils.transform(action.getParentIssuerContext(), AccountInventory::getUuid); List vos = ResourceHelper.findOwnResources(VolumeVO.class, auuids); - vos.removeIf(volume -> volume.getType() != VolumeType.Data); + vos.removeIf(volume -> volume.getType() != VolumeType.Data + && volume.getType() != VolumeType.Memory); if (!vos.isEmpty()) { return toVolumeDeletionStruct(action, vos);