Virtualization intermediary/virtual machine guest operating system collaborative SCSI path management
First Claim
1. A method of direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter comprising:
- storing by a virtualization intermediary an indication of an active path associated with a virtual storage device to a memory region shared by a guest driver and the virtualization intermediary, wherein the guest driver runs in a first memory space region of a first context and the virtualization intermediary runs in a second memory space region of a second context, and wherein the first memory space region and the second memory space region are different memory space regions except for the shared memory region;
obtaining by the guest driver the stored indication of the active path from the shared memory region without changing the first context of the guest driver running in the first memory space region to the second context of the virtualization intermediary running in the second memory space region;
dispatching an IO request by the guest driver directly to the VF that includes the indication of the active path without intervention from the virtualization intermediary; and
sending by the VF the IO request that includes the indicated active path.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter comprising: providing by a virtualization intermediary running on the host machine an indication of an active path associated with a virtual storage device; obtaining by a guest driver running within a guest operating system of the VM the stored indication of the active path from the shared memory region; dispatching an IO request by the guest driver to the VF that includes an indication of the active path; and sending by the VF an IO request that includes the indicated active path.
-
Citations
20 Claims
-
1. A method of direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter comprising:
-
storing by a virtualization intermediary an indication of an active path associated with a virtual storage device to a memory region shared by a guest driver and the virtualization intermediary, wherein the guest driver runs in a first memory space region of a first context and the virtualization intermediary runs in a second memory space region of a second context, and wherein the first memory space region and the second memory space region are different memory space regions except for the shared memory region; obtaining by the guest driver the stored indication of the active path from the shared memory region without changing the first context of the guest driver running in the first memory space region to the second context of the virtualization intermediary running in the second memory space region; dispatching an IO request by the guest driver directly to the VF that includes the indication of the active path without intervention from the virtualization intermediary; and sending by the VF the IO request that includes the indicated active path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter comprising:
-
identifying by a virtualization intermediary running on the host machine a change in an active path associated with a virtual storage device allocated to the VM; storing by the virtualization intermediary an indication of the changed active path to a memory region shared by a guest driver of the VM and by the virtualization intermediary, wherein the guest driver runs in a first memory space region of a first context and the virtualization intermediary runs in a second memory space region of a second context, and wherein the first memory space region and the second memory space region are different memory space regions except for the shared memory region; sending by the virtualization intermediary a notification to the guest driver of the change in active path associated with the virtual storage device; and obtaining by the guest driver the stored indication of the active path from the shared memory region without changing the first context of the guest driver running in the first memory space region to the second context of the virtualization intermediary running in the second memory space region, wherein the guest driver uses the active to path to send an IO request directly to the VF that includes the indication of the active path without intervention from the virtualization intermediary. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A non-transitory machine readable storage device encoded with computer readable instructions to cause a machine to perform a process to direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter, the process comprising:
-
storing by a virtualization intermediary an indication of an active path associated with a virtual storage device to a memory region shared by a guest driver and the virtualization intermediary, wherein the guest driver runs in a first memory space region of a first context and the virtualization intermediary runs in a second memory space region of a second context, and wherein the first memory space region and the second memory space region are different memory space regions except for the shared memory region; obtaining by the guest driver the stored indication of the active path from the shared memory region without changing the first context of the guest driver running in the first memory space region to the second context of the virtualization intermediary running in the second memory space region; dispatching an IO request by the guest driver directly to the VF that includes the indication of the active path without intervention of the virtualization intermediary; and sending by the VF the IO request that includes the indicated active path.
-
-
19. A non-transitory machine readable storage device encoded with computer readable instructions to cause a machine to perform a process to direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter, the process comprising:
-
identifying by a virtualization intermediary running on the host machine a change in an active path associated with a virtual storage device allocated to the VM; storing by the virtualization intermediary an indication of the changed active path to a memory region shared by a guest driver of the VM and by the virtualization intermediary, wherein the guest driver runs in a first memory space region of a first context and the virtualization intermediary runs in a second memory space region of a second context, and wherein the first memory space region and the second memory space region are different memory space regions except for the shared memory region; sending by the virtualization intermediary a notification to the guest driver of the change in active path associated with the virtual storage device; and obtaining by the guest driver the stored indication of the active path from the shared memory region without changing the first context of the guest driver running in the first memory space region to the second context of the virtualization intermediary running in the second memory space region, wherein the guest driver uses the active to path to send an IO request directly to the VF that includes the indication of the active path without intervention from the virtualization intermediary.
-
-
20. An apparatus to provide direct access by a virtual machine (VM) running on a host machine to physical storage via a virtual function (VF) running on an input/output (IO) adapter comprising;
-
means for communicating active path information from a virtualization intermediary running on the host machine to a guest driver running within a guest operating system of the VM in response to a request from the guest driver to the virtualization intermediary through a shared memory region, wherein the guest driver runs in a first memory space region of a first context and the virtualization intermediary runs in a second memory space region of a second context, and wherein the first memory space region and the second memory space region are different memory space regions except for the shared memory region; and means for reporting active path information from the virtualization intermediary to the guest driver in response to a change in active path information within the virtualization intermediary through the shared memory region without changing the first context of the guest driver running in the first memory space region to the second context of the virtualization intermediary running in the second memory space region, wherein the guest driver uses the active path to send an IO request directly to the VF without intervention from the virtualization intermediary.
-
Specification