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

qcow2: Prevent allocating refcount blocks at offset 0

qcow2: Prevent allocating refcount blocks at offset 0 Each entry in the qcow2 cache contains an offset field indicating the location of the data in the qcow2 image. If the offset is 0 then it means that the entry contains no data and is available to be...

Alberto García14/11/2017

qemu-iotests: Test I/O limits with removable media

qemu-iotests: Test I/O limits with removable media This test hotplugs a CD drive to a VM and checks that I/O limits can be set only when the drive has media inserted and that they are kept when the media is replaced. This also tests the removal of a...

Alberto García14/11/2017

block: Leave valid throttle timers when removing a BDS from a backend

block: Leave valid throttle timers when removing a BDS from a backend If a BlockBackend has I/O limits set then its ThrottleGroupMember structure uses the AioContext from its attached BlockDriverState. Those two contexts must be kept in sync manually....

Alberto García14/11/2017

block: Check for inserted BlockDriverState in blk_io_limits_disable()

block: Check for inserted BlockDriverState in blk_io_limits_disable() When you set I/O limits using block_set_io_throttle or the command line throttling.* options they are kept in the BlockBackend regardless of whether a BlockDriverState is attached to...

Alberto García14/11/2017

qcow2: Use BDRV_SECTOR_BITS instead of its literal value

qcow2: Use BDRV_SECTOR_BITS instead of its literal value BDRV_SECTOR_BITS is defined to be 9 in block.h (and BDRV_SECTOR_SIZE is calculated from that), but there are still a couple of places where we are using the literal value instead of the...

Alberto García27/10/2017