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