From 5dca07e2729d207f8b739d89a853674889dfceac Mon Sep 17 00:00:00 2001 From: Adam Litke Date: Fri, 19 Nov 2010 10:18:16 -0600 Subject: [PATCH] QED: Basic support for QED images Add an entry in fileTypeInfo for QED image files. Signed-off-by: Adam Litke Cc: Stefan Hajnoczi Cc: Anthony Liguori --- src/util/storage_file.c | 10 +++++++++- src/util/storage_file.h | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/util/storage_file.c b/src/util/storage_file.c index b17187695b..c011544b29 100644 --- a/src/util/storage_file.c +++ b/src/util/storage_file.c @@ -44,7 +44,7 @@ VIR_ENUM_IMPL(virStorageFileFormat, VIR_STORAGE_FILE_LAST, "raw", "dir", "bochs", "cloop", "cow", "dmg", "iso", - "qcow", "qcow2", "vmdk", "vpc") + "qcow", "qcow2", "qed", "vmdk", "vpc") enum lv_endian { LV_LITTLE_ENDIAN = 1, /* 1234 */ @@ -105,6 +105,8 @@ static int vmdk4GetBackingStore(char **, int *, #define QCOW2_HDR_EXTENSION_END 0 #define QCOW2_HDR_EXTENSION_BACKING_FORMAT 0xE2792ACA +#define QED_HDR_IMAGE_SIZE (4+4+4+4+8+8+8) + /* VMDK needs at least this to find backing store, * other formats need less */ #define STORAGE_MAX_HEAD (20*512) @@ -152,6 +154,12 @@ static struct FileTypeInfo const fileTypeInfo[] = { LV_BIG_ENDIAN, 4, 2, QCOWX_HDR_IMAGE_SIZE, 8, 1, QCOW2_HDR_CRYPT, qcow2GetBackingStore, }, + [VIR_STORAGE_FILE_QED] = { + /* http://wiki.qemu.org/Features/QED */ + "QED\0", NULL, + LV_LITTLE_ENDIAN, -1, -1, + QED_HDR_IMAGE_SIZE, 8, 1, -1, NULL, + }, [VIR_STORAGE_FILE_VMDK] = { "KDMV", NULL, LV_LITTLE_ENDIAN, 4, 1, diff --git a/src/util/storage_file.h b/src/util/storage_file.h index 34ece6d8ef..37d52b44ed 100644 --- a/src/util/storage_file.h +++ b/src/util/storage_file.h @@ -38,6 +38,7 @@ enum virStorageFileFormat { VIR_STORAGE_FILE_ISO, VIR_STORAGE_FILE_QCOW, VIR_STORAGE_FILE_QCOW2, + VIR_STORAGE_FILE_QED, VIR_STORAGE_FILE_VMDK, VIR_STORAGE_FILE_VPC, VIR_STORAGE_FILE_LAST,