Hi Luiz,

Am 01.02.2010 19:07, schrieb Luiz Capitulino:
>  Hi there,
> 
>  I've been requested by libvirt guys to add a QMP event for disk I/O errors,
> this is what this series is about.
> 
>  It's a RFC because I need feedback on the following:
> 
> 1. drive_get_on_error() is called on all disk errors, right?

Well, yes, it is for all devices that support rerror/werror. But it also
might be called in other situations. Look at the "get" in the function
name, it's really a getter function and not a event handler.

> 2. I've tested only ENOSPC errors, is there a way to test other errors? Like
> read ones?

So you'll probably want some EIO. Some recent bugs I've been handling
were a about images on NFS when the NFS server want away. It's a
reliable way to get EIO (mount with -osoft and small timeouts). I guess
qemu-nbd and the nbd: protocol might work, too.

Or maybe copy the start of a qcow2 image to a too small device.

> 3. Is this the right approach at all? :)

Yes and no. As I said above, drive_get_on_error() is not the right place
to do it. Unfortunately it looks like there isn't a single generic place
where it can be done, but the call to the event handler must be added to
every device.

Kevin


Reply via email to