Patent ID: 8239583

Claim:
A method, in a data processing system, for migrating a domain from a first data processing device to a second data processing device, comprising: configuring the domain for direct access of a first physical input/output (I/O) device; reconfiguring the domain for virtualized access of the first physical I/O device via an I/O virtualization mechanism in response to an event requiring migration of the domain, wherein reconfiguring the domain for virtualized access of the first physical I/O device comprises: generating a virtual I/O backend device in the I/O virtualization mechanism that is logically the same as the first physical I/O device; generating a queue point in the I/O virtualization mechanism associated with the virtual I/O backend device that will block outstanding I/O requests once the outstanding I/O requests are redirected to the queue point in the I/O virtualization mechanism; injecting a virtual I/O frontend device into the domain, wherein, by injecting the virtual I/O frontend device into the domain, a connection is made from the virtual I/O frontend device to the virtual I/O backend device; quiescing the outstanding I/O requests to the first physical I/O device at a queue point in the domain thereby forming a blocked I/O path; releasing control of the first physical I/O device by the domain; inserting the virtual I/O frontend device into the blocked I/O path so that the quiesced outstanding I/O requests flow from the queue point in the domain to the queue point in the I/O virtualization mechanism; coupling the virtual I/O backend device to the first physical I/O device; and unblocking the outstanding I/O requests at the queue point in the I/O virtualization mechanism so that the outstanding I/O requests flow to the first physical I/O device: and migrating the domain from the first data processing device to the second data processing device following reconfiguration of the domain for virtualized access of the first physical I/O device.