Method for query/modification of linear block address table entries for direct I/O
First Claim
1. A method, in an input/output (I/O) adapter, comprising:
- receiving, in the I/O adapter from an application instance, a user space operation requesting modification of a resource allocation for direct linear block address (LBA) based input/output (I/O) between the application instance and a physical storage device;
modifying, by the I/O adapter, the resource allocation in a LBA table entry, of an LBA table, associated with the I/O adapter and the application instance;
returning, from the I/O adapter, results of the modification of the resource allocation to the application instance;
determining if an I/O transaction is active on the LBA table entry;
modifying the LBA table entry only if there are no I/O transactions active on the LBA table entry;
initiating a timer if there is an I/O transaction active on the LBA table entry;
determining if a quiescent point is reached before the timer times out; and
modifying the LBA table entry only if the quiescent point is reached before the timer times out, wherein the quiescent point is a point at which no I/O transactions are active on the LBA table entry.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides 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. In one aspect of the present invention, a mechanism is provided for handling user space query and modification operations for querying and modifying attributes of allocations of linear block addresses of a physical storage device. For modification, it is determined if there are sufficient available resources for the modification of the allocation. In addition, it is determined if there are any 1/0 transactions active on the allocation before performing the modification. Modification of the attributes of the allocation may be performed only if there are sufficient available resources and only if there are no active I/O transactions on the allocation being modified.
100 Citations
7 Claims
-
1. A method, in an input/output (I/O) adapter, comprising:
-
receiving, in the I/O adapter from an application instance, a user space operation requesting modification of a resource allocation for direct linear block address (LBA) based input/output (I/O) between the application instance and a physical storage device; modifying, by the I/O adapter, the resource allocation in a LBA table entry, of an LBA table, associated with the I/O adapter and the application instance; returning, from the I/O adapter, results of the modification of the resource allocation to the application instance; determining if an I/O transaction is active on the LBA table entry; modifying the LBA table entry only if there are no I/O transactions active on the LBA table entry; initiating a timer if there is an I/O transaction active on the LBA table entry; determining if a quiescent point is reached before the timer times out; and modifying the LBA table entry only if the quiescent point is reached before the timer times out, wherein the quiescent point is a point at which no I/O transactions are active on the LBA table entry. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification