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

block: Update bs->options if bdrv_reopen() succeeds

block: Update bs->options if bdrv_reopen() succeeds If bdrv_reopen() succeeds then bs->explicit_options is updated with the new values, but bs->options never changes. Here's an example: { "execute": "blockdev-add", "arguments": { ...

Alberto García16/08/2018

block: Simplify bdrv_reopen_abort()

block: Simplify bdrv_reopen_abort() If a bdrv_reopen_multiple() call fails, then the explicit_options QDict has to be deleted for every entry in the reopen queue. This must happen regardless of whether that entry's bdrv_reopen_prepare()...

Alberto García16/08/2018

block: Remove children options from bs->{options,explicit_options}

block: Remove children options from bs->{options,explicit_options} When bdrv_open_inherit() opens a BlockDriverState the options QDict can contain options for some of its children, passed in the form of child-name.option=value So while each child is...

Alberto García16/08/2018

qdict: Make qdict_extract_subqdict() accept dst = NULL

qdict: Make qdict_extract_subqdict() accept dst = NULL This function extracts all options from a QDict starting with a certain prefix and puts them in a new QDict. We'll have a couple of cases where we simply want to discard those options instead...

Alberto García16/08/2018

throttle-groups: Don't allow timers without throttled requests

throttle-groups: Don't allow timers without throttled requests Commit 6fccbb475bc6effc313ee9481726a1748b6dae57 fixed a bug caused by QEMU attempting to remove a throttle group member with no pending requests but an active timer set. This was the...

Alberto García16/08/2018