Add an entry in fileTypeInfo for QED image files.
Signed-off-by: Adam Litke <agl(a)us.ibm.com>
Cc: Stefan Hajnoczi <stefan.hajnoczi(a)uk.ibm.com>
Cc: Anthony Liguori <aliguori(a)linux.vnet.ibm.com>
---
src/util/storage_file.c | 9 ++++++++-
src/util/storage_file.h | 1 +
2 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/src/util/storage_file.c b/src/util/storage_file.c
index 4098383..6e099ed 100644
--- a/src/util/storage_file.c
+++ b/src/util/storage_file.c
@@ -43,7 +43,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 */
@@ -104,6 +104,8 @@ static int vmdk4GetBackingStore(char **, int *,
#define QCOW2_HDR_EXTENSION_END 0
#define QCOW2_HDR_EXTENSION_BACKING_FORMAT 0xE2792ACA
+#define QED_HDR_IMAGE_SIZE 40
+
/* VMDK needs at least this to find backing store,
* other formats need less */
#define STORAGE_MAX_HEAD (20*512)
@@ -151,6 +153,11 @@ static struct FileTypeInfo const fileTypeInfo[] = {
LV_BIG_ENDIAN, 4, 2,
QCOWX_HDR_IMAGE_SIZE, 8, 1, QCOW2_HDR_CRYPT, qcow2GetBackingStore,
},
+ [VIR_STORAGE_FILE_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 a3703f5..c4d4650 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,
--
1.7.3.2.164.g6f10c