
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@us.ibm.com> Cc: Stefan Hajnoczi <stefan.hajnoczi@uk.ibm.com> Cc: Anthony Liguori <aliguori@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@redhat.com +1-801-349-2682 Libvirt virtualization library http://libvirt.org