Alberto García

O Grove (Spain)

One of the founding members of Igalia, Alberto loves computing since he got his first ZX Spectrum in the early nineties.

Latest Updates

Alberto García 16/11/2017

“Improving the performance of the qcow2 format” at KVM Forum 2017

I was in Prague last month for the 2017 edition of the KVM Forum. There I gave a talk about some of the work that I’ve been doing this year to improve the qcow2 file format used by QEMU for storing disk images. The focus of my work is to make qcow2...

Alberto García 08/02/2017

QEMU and the qcow2 metadata checks

When choosing a disk image format for your virtual machine one of the factors to take into considerations is its I/O performance. In this post I’ll talk a bit about the internals of qcow2 and about one of the aspects that can affect its performance...

Alberto García 24/05/2016

I/O bursts with QEMU 2.6

QEMU 2.6 was released a few days ago. One new feature that I have been working on is the new way to configure I/O limits in disk drives to allow bursts and increase the responsiveness of the virtual machine. In this post I’ll try to explain how it...

Filter

By Type:

Commits

blockjob: Make block_job_pause_all() keep a reference to the jobs

blockjob: Make block_job_pause_all() keep a reference to the jobs Starting from commit 40840e419be31e6a32e6ea24511c74b389d5e0e4 we are pausing all block jobs during bdrv_reopen_multiple() to prevent any of them from finishing and removing nodes from...

Alberto García04/12/2017

blockjob: Remove the job from the list earlier in block_job_unref()

blockjob: Remove the job from the list earlier in block_job_unref() When destroying a block job in block_job_unref() we should remove it from the job list before calling block_job_remove_all_bdrv(). This is because removing the BDSs can trigger an...

Alberto García29/11/2017

block: Close a BlockDriverState completely even when bs->drv is NULL

block: Close a BlockDriverState completely even when bs->drv is NULL bdrv_close() skips much of its logic when bs->drv is NULL. This is fine when we're closing a BlockDriverState that has just been created (because e.g the initialization process...

Alberto García21/11/2017

qcow2: Check that corrupted images can be repaired in iotest 060

qcow2: Check that corrupted images can be repaired in iotest 060 We just fixed a few bugs that caused QEMU to crash when trying to write to corrupted qcow2 images, and iotest 060 was expanded to test all those scenarios. In almost all cases the...

Alberto García14/11/2017

qcow2: Assert that the crypto header does not overlap other metadata

qcow2: Assert that the crypto header does not overlap other metadata The crypto header is initialized only when QEMU is creating a new image, so there's no chance of this happening on a corrupted image. If QEMU is really trying to allocate the...

Alberto García14/11/2017