On 11/19/2010 09:18 AM, Adam Litke wrote:
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(-)
+#define QED_HDR_IMAGE_SIZE 40
Given that other formats broke it out by fields, I did likewise for this
one.
+
/* 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] = {
I'm amending this patch to add a comment to a decent reference URL
(other file types should probably likewise add a reference URL, but that
can come later).
+ "QED\0", NULL,
+ LV_LITTLE_ENDIAN, -1, -1,
+ QED_HDR_IMAGE_SIZE, 8, 1, -1, NULL,
Why no backing store extraction function? Not a show-stopper to this
patch, but something to consider adding.
ACK as amended:
diff --git i/src/util/storage_file.c w/src/util/storage_file.c
index 5fe11a3..c011544 100644
--- i/src/util/storage_file.c
+++ w/src/util/storage_file.c
@@ -105,7 +105,7 @@ static int vmdk4GetBackingStore(char **, int *,
#define QCOW2_HDR_EXTENSION_END 0
#define QCOW2_HDR_EXTENSION_BACKING_FORMAT 0xE2792ACA
-#define QED_HDR_IMAGE_SIZE 40
+#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 */
@@ -155,6 +155,7 @@ static struct FileTypeInfo const fileTypeInfo[] = {
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,
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org