1. A method in a virtual machine infrastructure comprising: storing, by a computer, capability information of data devices in the virtual machine infrastructure; provisioning, by the computer, one or more virtual machines, including identifying data devices for each virtual machine based on the stored capability information of the data devices; responding, by the computer, to I/O requests made by the one or more virtual machines, including sending I/O commands to respective data devices of the one or more virtual machines, wherein each I/O command includes a service request; receiving and storing, by the computer, error messages from one or more data devices in response to I/O commands received by the one or more data devices; and updating, by the computer, the stored capability information of the data devices with capability updates that are determined from the stored error messages, wherein subsequent provisioning of virtual machines use updated capability information of the data devices in the virtual infrastructure.