From: Kevin Wolf Date: Thu, 7 Mar 2019 16:49:55 +0000 (+0100) Subject: qcow2 spec: Describe string header extensions X-Git-Tag: v4.0.0-rc0~46^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e88153ea9a40009a8ae7648282c0eac1b7f5494f;p=thirdparty%2Fqemu.git qcow2 spec: Describe string header extensions Be more specific about the string representation in header extensions. Suggested-by: Stefan Hajnoczi Signed-off-by: Kevin Wolf Reviewed-by: Eric Blake Reviewed-by: Stefan Hajnoczi --- diff --git a/docs/interop/qcow2.txt b/docs/interop/qcow2.txt index bfb97cfde39..8c3098d8d9c 100644 --- a/docs/interop/qcow2.txt +++ b/docs/interop/qcow2.txt @@ -170,11 +170,11 @@ be stored. Each extension has a structure like the following: Byte 0 - 3: Header extension type: 0x00000000 - End of the header extension area - 0xE2792ACA - Backing file format name + 0xE2792ACA - Backing file format name string 0x6803f857 - Feature name table 0x23852875 - Bitmaps extension 0x0537be77 - Full disk encryption header pointer - 0x44415441 - External data file name + 0x44415441 - External data file name string other - Unknown header extension, can be safely ignored @@ -196,6 +196,16 @@ data of compatible features that it doesn't support. Compatible features that need space for additional data can use a header extension. +== String header extensions == + +Some header extensions (such as the backing file format name and the external +data file name) are just a single string. In this case, the header extension +length is the string length and the string is not '\0' terminated. (The header +extension padding can make it look like a string is '\0' terminated, but +neither is padding always necessary nor is there a guarantee that zero bytes +are used for padding.) + + == Feature name table == The feature name table is an optional header extension that contains the name