System and method for creation/deletion of linear block address table entries for direct I/O
First Claim
1. A method, in an input/output (I/O) adapter, comprising:
- receiving, 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;
creating the resource allocation in a LBA table entry, of an LBA table, associated with the I/O adapter and the application instance;
returning results of the creation of the resource allocation to the application instance;
receiving, from the application instance, a second user space operation requesting de-allocation of second resources; and
deleting an LBA table entry corresponding to the second resources from the LBA table, wherein deleting the LBA table entry includes;
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.
1 Assignment
0 Petitions
Accused Products
Abstract
A method that enables 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 is provided. In one aspect of the method, 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
7 Claims
-
1. A method, in an input/output (I/O) adapter, comprising:
-
receiving, 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; creating the resource allocation in a LBA table entry, of an LBA table, associated with the I/O adapter and the application instance; returning results of the creation of the resource allocation to the application instance; receiving, from the application instance, a second user space operation requesting de-allocation of second resources; and deleting an LBA table entry corresponding to the second resources from the LBA table, wherein deleting the LBA table entry includes; 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)
-
Specification