
On Mon, Jan 31, 2022 at 03:35:02PM +0000, Daniel P. Berrangé wrote:
On Mon, Jan 31, 2022 at 04:21:36PM +0100, Kashyap Chamarthy wrote:
On Mon, Jan 31, 2022 at 02:36:46PM +0000, Daniel P. Berrangé wrote:
[...]
The firmware can be provided in qcow2 format too, so if really concerned, just create a qcow2 file with a backing store pointing to the readonly master, so you're only paying the price of the delta for any guest VARs writes. That's more efficient than what we do today with copying the separate raw format VARS.fd file.
That's nice, I didn't know the qcow2 possibility in this context. For some reason I assumed the file format always has to be raw here. Your qcow2 point above should be documented, if it isn't already. Although I don't know the right place for it.
There's already a format field in the descriptor, but even if the firmware is distributed as raw, libvirt can choose to put qcow2 overlay on it, as its all configured with -blockdev
Ah, understood. I should've first checked the spec to look for the @format field. For others reading the thread, the @format bit is located here infirmware.json: [...] # @FirmwareFlashFile: # # Defines common properties that are necessary for loading a firmware # file into a pflash chip. The corresponding QEMU command line option is # "-drive file=@filename,format=@format". Note however that the # option-argument shown here is incomplete; it is completed under # @FirmwareMappingFlash. # # @filename: Specifies the filename on the host filesystem where the # firmware file can be found. # # @format: Specifies the block format of the file pointed-to by # @filename, such as @raw or @qcow2. [...] -- /kashyap