Optimizing a file system interface in a virtualized computing environment
First Claim
1. A method for optimizing read operations to a storage device in a virtualized computing environment, the method comprising:
- receiving, by a virtual machine'"'"'s (VM) operating system, a read system call from an application running in the user space of the VM for a read operation for data on a storage device, wherein the VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment;
causing a virtual file system (VFS) supported by the operating system to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation;
in response to determining, by the PVFS FE that the data to be read does not exist in the data cache of the PVFS FE, passing, by the PVFS FE, the read operation to a second para-virtualized file system (PVFS BE) supported by the hypervisor, wherein the PVFS FE and the PVFS BE share a portion of the VM memory, and executing, by the PVFS BE, the read operation from a cache of the PVFS BE if the data to be read exists in the data cache of the PVFS BE, or executing, by the PVFS BE, the read operation from the storage device if the data to be read does not exist in the data cache of the PVFS BE;
returning, by the PVFS BE, the data to be read to the PVFS FE, via the portion of VM memory shared between the PVFS FE and the PVFS BE; and
returning, by the PVFS FE, the data to be read to the VFS.
1 Assignment
0 Petitions
Accused Products
Abstract
Optimizing read operations to a storage device in a virtualized computing environment. A read system call is received by a virtual machine'"'"'s (VM) operating system from an application running on the VM for data on a storage device. The VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment. A virtual file system (VFS) supported by the operating system is caused to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation. In response to determining by the PVS FE that the data to be read exists in a data cache of the PVFS FE, executing by the PVS FE the read operation from the cache of the PVFS FE.
21 Citations
6 Claims
-
1. A method for optimizing read operations to a storage device in a virtualized computing environment, the method comprising:
-
receiving, by a virtual machine'"'"'s (VM) operating system, a read system call from an application running in the user space of the VM for a read operation for data on a storage device, wherein the VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment; causing a virtual file system (VFS) supported by the operating system to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation; in response to determining, by the PVFS FE that the data to be read does not exist in the data cache of the PVFS FE, passing, by the PVFS FE, the read operation to a second para-virtualized file system (PVFS BE) supported by the hypervisor, wherein the PVFS FE and the PVFS BE share a portion of the VM memory, and executing, by the PVFS BE, the read operation from a cache of the PVFS BE if the data to be read exists in the data cache of the PVFS BE, or executing, by the PVFS BE, the read operation from the storage device if the data to be read does not exist in the data cache of the PVFS BE; returning, by the PVFS BE, the data to be read to the PVFS FE, via the portion of VM memory shared between the PVFS FE and the PVFS BE; and returning, by the PVFS FE, the data to be read to the VFS. - View Dependent Claims (2)
-
-
3. A computer program product for optimizing read operations to a storage device in a virtualized computing environment, the computer program product comprising:
-
one or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media, the program instructions comprising; program instructions to receive, by a virtual machine'"'"'s (VM) operating system, a read system call from an application running in the user space of the VM for a read operation for data on a storage device, wherein the VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment; program instructions to cause a virtual file system (VFS) supported by the operating system to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation; program instructions, in response to determining, by the PVFS FE that the data to be read does not exist in the data cache of the PVFS FE, to pass, by the PVFS FE, the read operation to a second para-virtualized file system (PVFS BE) supported by the hypervisor, wherein the PVFS FE and the PVFS BE share a portion of the VM memory, and to execute, by the PVFS BE, the read operation from a cache of the PVFS BE if the data to be read exists in the data cache of the PVFS BE, or to execute, by the PVFS BE, the read operation from the storage device if the data to be read does not exist in the data cache of the PVFS BE; program instructions to return, by the PVFS BE, the data to be read to the PVFS FE, via the portion of VM memory shared between the PVFS FE and the PVFS BE; and program instructions to return, by the PVFS FE, the data to be read to the VFS. - View Dependent Claims (4)
-
-
5. A computer system for optimizing read operations to a storage device in a virtualized computing environment, the computer system comprising:
-
one or more computer processors, one or more computer-readable storage media, and program instructions stored on one or more of the computer-readable storage media for execution by at least one of the one or more processors, the program instructions comprising; program instructions to receive, by a virtual machine'"'"'s (VM) operating system, a read system call from an application running in the user space of the VM for a read operation for data on a storage device, wherein the VM is hosted by a hypervisor providing access to the storage device in a virtualized computing environment; program instructions to cause a virtual file system (VFS) supported by the operating system to call on a first para-virtualized file system (PVFS FE) supported by the operating system to execute the read operation; program instructions, in response to determining, by the PVFS FE that the data to be read does not exist in the data cache of the PVFS FE, to pass, by the PVFS FE, the read operation to a second para-virtualized file system (PVFS BE) supported by the hypervisor, wherein the PVFS FE and the PVFS BE share a portion of the VM memory, and to execute, by the PVFS BE, the read operation from a cache of the PVFS BE if the data to be read exists in the data cache of the PVFS BE, or to execute, by the PVFS BE, the read operation from the storage device if the data to be read does not exist in the data cache of the PVFS BE; program instructions to return, by the PVFS BE, the data to be read to the PVFS FE, via the portion of VM memory shared between the PVFS FE and the PVFS BE; and program instructions to return, by the PVFS FE, the data to be read to the VFS. - View Dependent Claims (6)
-
Specification