|
From: | Eric Blake |
Subject: | Re: [Qemu-devel] [Qemu-block] storing machine data in qcow images? |
Date: | Tue, 5 Jun 2018 14:54:07 -0500 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 06/05/2018 02:47 PM, Michael S. Tsirkin wrote:
Layer 1: The string shall always be a JSON 'object'; i.e. of the form { "something": ... , "more": ... } The key strings shall be non-null and non-empty and shall be unique.
I think it would be simpler if layer 0 simply provided a list of names/value pairs, where names are ascii strings, and values are binary data[1]. It would make layer 1 unnecessary, and allow (3) and (4) to happen. [1] In other words, Rich's proposal of "named blobs": https://www.mail-archive.com/address@hidden/msg37856.htmlI think simple is beautiful, too. But assuming they really are binary how are blobs encoded? Did binary really mean UTF-8 here?
Binary blobs can always be base64 encoded for representation within a valid JSON UTF-8 string (and we already have several QMP interfaces that utilize base64 encoding to pass through what is otherwise invalid UTF-8). It does inflate things slightly compared to a format that allows a raw length coupled with raw data, but that is not necessarily a problem.
-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |