Mechanisms for creation/deletion of linear block address table entries for direct I/O
First Claim
1. A computer program product comprising a computer recordable medium having a computer readable program stored thereon, wherein the computer readable program, when executed on computing device, causes the computing device to:
- receive, from an application instance, a user space operation requesting creation of a resource allocation for direct linear block address (LBA) based input/output (I/O) between the application instance and a physical storage device;
create the resource allocation in an LBA table entry, of an LBA table, associated with an I/O adapter and the application instance;
return results of the creation of the resource allocation to the application instance;
receive, from the application instance, a second user space operation requesting de-allocation of second resources;
and delete an LBA table entry corresponding to the second resources from the LBA table, wherein the computer readable program causes the computing device to delete the LBA table entry by;
determining if an I/O transaction is active on the LBA table entry; and
deleting the LBA table entry only if there are no I/O transactions active on the LBA table entry.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides mechanisms that enable application instances to pass block mode storage requests directly to a physical I/O adapter without run-time involvement from the local operating system or hypervisor. In one aspect of the present invention, a mechanism is provided for handling user space creation and deletion operations for creating and deleting allocations of linear block addresses of a physical storage device to application instances. For creation, it is determined if there are sufficient available resources for creation of the allocation. For deletion, it is determined if there are any I/O transactions active on the allocation before performing the deletion. Allocation may be performed only if there are sufficient available resources and deletion may be performed only if there are no active I/O transactions on the allocation being deleted.
-
Citations
15 Claims
-
1. A computer program product comprising a computer recordable medium having a computer readable program stored thereon, wherein the computer readable program, when executed on computing device, causes the computing device to:
- receive, from an application instance, a user space operation requesting creation of a resource allocation for direct linear block address (LBA) based input/output (I/O) between the application instance and a physical storage device;
create the resource allocation in an LBA table entry, of an LBA table, associated with an I/O adapter and the application instance; return results of the creation of the resource allocation to the application instance; receive, from the application instance, a second user space operation requesting de-allocation of second resources; and delete an LBA table entry corresponding to the second resources from the LBA table, wherein the computer readable program causes the computing device to delete the LBA table entry by;
determining if an I/O transaction is active on the LBA table entry; and
deleting the LBA table entry only if there are no I/O transactions active on the LBA table entry. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- receive, from an application instance, a user space operation requesting creation of a resource allocation for direct linear block address (LBA) based input/output (I/O) between the application instance and a physical storage device;
-
8. A data processing system, comprising:
-
a host system; and a physical storage device coupled to the host system, wherein the host system; receives, from an application instance running on the host system, a user space operation requesting creation of a resource allocation for direct linear block address (LBA) based input/output (I/O) between the application instance and the physical storage device; creates the resource allocation in an LBA table entry, of an LBA table, associated with the I/O adapter and the application instance; and returns results of the creation of the resource allocation to the application instance;
receives, from the application instance, a second user space operation requesting de-allocation of second resources;and deletes an LBA table entry corresponding to the second resources from the LBA table, wherein the host system deletes the LBA table entry by;
determining if an I/O transaction is active on the LBA table entry;and deleting the LBA table entry only if there are no I/O transactions active on the LBA table entry. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
Specification