From b866d5c34ebaf09dafb996fde5f51201168ab6b6 Mon Sep 17 00:00:00 2001 From: "haidong.pang" Date: Wed, 24 Dec 2025 09:52:22 +0000 Subject: [PATCH] [storage]: Set the actual image format for ExternalPrimaryStorage 1. Creating an image from a volume defaults to the source format, which may be unexpected. 2. Use the actual format from backup storage reply. Resolves: ZSTAC-78094 Change-Id: I716d747961666979766372626d7679716262667a --- .../zstack/storage/addon/primary/ExternalPrimaryStorage.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorage.java b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorage.java index 48c367acbe0..33f4f43a5f4 100644 --- a/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorage.java +++ b/storage/src/main/java/org/zstack/storage/addon/primary/ExternalPrimaryStorage.java @@ -939,6 +939,7 @@ protected void handle(CreateTemplateFromVolumeOnPrimaryStorageMsg msg) { String snapshotPath; String bsInstallPath; + String actualFormat; long templateSize; @@ -1067,6 +1068,7 @@ public void run(MessageReply reply) { DownloadImageFromRemoteTargetReply r = reply.castReply(); bsInstallPath = r.getInstallPath(); templateSize = r.getSize(); + actualFormat = r.getFormat(); trigger.next(); } } @@ -1099,7 +1101,7 @@ public void fail(ErrorCode errorCode) { @Override public void handle(Map data) { reply.setTemplateBackupStorageInstallPath(bsInstallPath); - reply.setFormat(msg.getVolumeInventory().getFormat()); + reply.setFormat(actualFormat); reply.setActualSize(templateSize); bus.reply(msg, reply); }