[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [RFC 0/2]: QMP DISK_ERROR event
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] Re: [RFC 0/2]: QMP DISK_ERROR event |
Date: |
Tue, 2 Feb 2010 10:17:23 -0200 |
On Tue, 02 Feb 2010 10:25:19 +0100
Kevin Wolf <address@hidden> wrote:
> 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.
Thanks!
> > 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.
Can't it be added to subsystems? Like ide, virtio etc?
Maybe in the same function that calls driver_get_on_error()?