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 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...

Alberto García 17/12/2015

Improving disk I/O performance in QEMU 2.5 with the qcow2 L2 cache

QEMU 2.5 has just been released, with a lot of new features. As with the previous release, we have also created a video changelog. I plan to write a few blog posts explaining some of the things I have been working on. In this one I’m going to talk...

Filter

By Type:

Commits

throttle: Assert that bkt->max is valid in throttle_compute_wait()

throttle: Assert that bkt->max is valid in throttle_compute_wait() If bkt->max == 0 and bkt->burst_length > 1 then we could have a division by 0 in throttle_do_compute_wait(). That configuration is however not permitted and is already detected by...

Alberto García27/09/2017

misc: Remove unused Error variables

misc: Remove unused Error variables There's a few cases which we're passing an Error pointer to a function only to discard it immediately afterwards without checking it. In these cases we can simply remove the variable and pass NULL...

Alberto García31/08/2017

throttle: Test the valid range of config values

throttle: Test the valid range of config values Signed-off-by: Alberto Garcia Message-id: a57dd6274e1b6dc9c28769fec4c7ea543be5c5e3.1503580370.git.berto@igalia.com Signed-off-by: Stefan Hajnoczi

Alberto García31/08/2017

throttle: Make burst_length 64bit and add range checks

throttle: Make burst_length 64bit and add range checks LeakyBucket.burst_length is defined as an unsigned integer but the code never checks for overflows and it only makes sure that the value is not 0. In practice this means that the user can set...

Alberto García31/08/2017

throttle: Make LeakyBucket.avg and LeakyBucket.max integer types

throttle: Make LeakyBucket.avg and LeakyBucket.max integer types Both the throttling limits set with the throttling.iops-* and throttling.bps-* options and their QMP equivalents defined in the BlockIOThrottle struct are integer values. Those limits...

Alberto García31/08/2017