On Mon, Jan 23, 2012 at 14:30:54 +0100, Jiri Denemark wrote: > We already provide ways to detect when a domain has been paused as a > result of I/O error, but there was no way of getting the exact error or > even the device that experienced it. This new API may be used for both. ... > + > +/** > + * virDomainGetIoError: > + * @dom: a domain object > + * @dev: disk device to be inspected or NULL > + * @flags: extra flags; not used yet, so callers should always pass 0 > + * > + * The @disk parameter is either the device target (the dev attribute of > + * target subelement), such as "vda", or NULL, in which case all disks will be > + * inspected for errors. If only one disk experienced an I/O error, that error > + * will be returned. However, if there are more disks with I/O errors, this > + * function will fail and return -2, requiring the caller to check every > + * device explicitly. > + * > + * Returns -2 if @dev is NULL and there are multiple disks with errors, -1 if > + * the function fails to do its job, the I/O error (virDomainIoError) observed > + * on the specified disk (or any disk if @dev is NULL). Namely, 0 is returned > + * when there is no error on the disk. > + */ > +int > +virDomainGetIoError(virDomainPtr dom, > + const char *dev, > + unsigned int flags) Actually, after talking a bit more about this with Federico on IRC, this API should rather provide a list of disks with error codes. I'll create a v2, in which I will also address Michal's comments. Jirka -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list