Processing user space operations directly between an application instance and an I/O adapter
First Claim
Patent Images
1. A method, in a data processing system, comprising:
- receiving a user space operation from a user management interface;
determining if the user space operation is a resource management operation or a processing queue operation;
performing at least one resource management operation to manage a resource allocation for a resource in a file protection table data structure having a file name protection table, a file extension protection table, and a storage block address table, if the user space operation is the resource management operation, wherein the storage block address table identifies portions of a storage device which is to be allocated to a set of files for which the resource allocation is requested, wherein the file extension protection table comprises a set of pointers to one or more entries in the storage block address table and a set of file extension keys, and wherein the file name protection table comprises a set of pointers to one or more segments of the file extension protection table and a set of file name keys, wherein performing the at least one resource management operation further comprises;
determining if the user space operation is a resource modify operation;
responsive to the user space operation being the resource modify operation, modifying at least one attribute associated with a resource allocation in a file protection table entry, wherein modifying the at least one attribute associated with the resource allocation in the file protection table entry comprises modifying an attribute in a storage block address table entry;
initiating a timer if there is an I/O transaction active on the file protection table entry;
determining if a quiescent point at which there are no I/O transactions active on the file protection table entry being modified is reached before the timer times out; and
modifying the file protection table entry only if the quiescent point is reached before the timer times out; and
performing at least one processing queue operation, directly with an input/output (I/O) adapter without intervention by a system image, to manage a processing queue, if the user space operation is the processing queue operation, wherein performing the at least one processing queue operation comprises;
retrieving a completion queue entry from a completion queue in an I/O adapter for a completed out of user space input/output operation.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided that enables user space middleware or applications to pass file name based storage requests directly to a physical I/O Adapter without run-time involvement from the local Operating System (OS). A mechanism is provided for using a file protection table (FPT) data structure, which may include a file name protection table (FNPT) and file extension protection table (FEPT), to control user space and out of user space Input/Output (I/O) operations. In addition, a mechanism is provided for managing the FPT based on user space operations to create, query, modify and delete entries in the FPT.
-
Citations
17 Claims
-
1. A method, in a data processing system, comprising:
-
receiving a user space operation from a user management interface; determining if the user space operation is a resource management operation or a processing queue operation; performing at least one resource management operation to manage a resource allocation for a resource in a file protection table data structure having a file name protection table, a file extension protection table, and a storage block address table, if the user space operation is the resource management operation, wherein the storage block address table identifies portions of a storage device which is to be allocated to a set of files for which the resource allocation is requested, wherein the file extension protection table comprises a set of pointers to one or more entries in the storage block address table and a set of file extension keys, and wherein the file name protection table comprises a set of pointers to one or more segments of the file extension protection table and a set of file name keys, wherein performing the at least one resource management operation further comprises; determining if the user space operation is a resource modify operation; responsive to the user space operation being the resource modify operation, modifying at least one attribute associated with a resource allocation in a file protection table entry, wherein modifying the at least one attribute associated with the resource allocation in the file protection table entry comprises modifying an attribute in a storage block address table entry; initiating a timer if there is an I/O transaction active on the file protection table entry; determining if a quiescent point at which there are no I/O transactions active on the file protection table entry being modified is reached before the timer times out; and modifying the file protection table entry only if the quiescent point is reached before the timer times out; and performing at least one processing queue operation, directly with an input/output (I/O) adapter without intervention by a system image, to manage a processing queue, if the user space operation is the processing queue operation, wherein performing the at least one processing queue operation comprises;
retrieving a completion queue entry from a completion queue in an I/O adapter for a completed out of user space input/output operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer program product comprising a computer readable medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to:
-
receive a user space operation from a user management interface; determine if the user space operation is a resource management operation or a processing queue operation; perform at least one resource management operation to manage a resource allocation for a resource in a file protection table data structure having a file name protection table, a file extension protection table and a storage block address table, if the user space operation is a resource management operation, wherein the storage block address table identifies portions of a storage device which is to be allocated to a set of files for which the resource allocation is requested, wherein the file extension protection table comprises a set of pointers to one or more entries in the storage block address table and a set of file extension keys, and wherein the file name protection table comprises a set of pointers to one or more segments of the file extension protection table and a set of file name keys wherein performing the at least one resource management operation further comprises; determining if the user space operation is a resource modify operation; responsive to the user space operation being the resource modify operation, modifying at least one attribute associated with a resource allocation in a file protection table entry, wherein modifying the at least one attribute associated with the resource allocation in the file protection table entry comprises modifying an attribute in a storage block address table entry; initiating a timer if there is an I/O transaction active on the file protection table entry; determining if a quiescent point at which there are no I/O transactions active on the file protection table entry being modified is reached before the timer times out; and modifying the file protection table entry only if the quiescent point is reached before the timer times out; and perform at least one processing queue operation, directly with an input/output (I/O) adapter without intervention by a system image, to manage a processing queue, if the user space operation is a processing queue operation, wherein the computer readable program causes the computing device to perform at least one processing queue operation by retrieving a completion queue entry from a completion queue in an I/O adapter for a completed out of user space input/output operation. - View Dependent Claims (11, 12, 13)
-
-
14. An apparatus, comprising:
-
a processor; and a storage device coupled to the processor, wherein the processor; receives a user space operation from a user management interface; determines if the user space operation is a resource management operation or a processing queue operation; performs at least one resource management operation to manage a resource allocation for a resource in a file protection table data structure, stored in the storage device, having a file name protection table, a file extension protection table and a storage block address table, if the user space operation is a resource management operation, wherein the storage block address table identifies portions of a storage device which is to be allocated to a set of files for which the resource allocation is requested, wherein the file extension protection table comprises a set of pointers to one or more entries in the storage block address table and a set of file extension keys, and wherein the file name protection table comprises a set of pointers to one or more segments of the file extension protection table and a set of file name keys, wherein performing the at least one resource management operation further comprises; determining if the user space operation is a resource modify operation; responsive to the user space operation being the resource modify operation, modifying at least one attribute associated with a resource allocation in a file protection table entry, wherein modifying the at least one attribute associated with the resource allocation in the file protection table entry comprises modifying an attribute in a storage block address table entry; initiating a timer if there is an I/O transaction active on the file protection table entry; determining if a quiescent point at which there are no I/O transactions active on the file protection table entry being modified is reached before the timer times out; and modifying the file protection table entry only if the quiescent point is reached before the timer times out; and performs at least one processing queue operation, directly with an input/output (I/O) adapter without intervention by a system image, to manage a processing queue, if the user space operation is a processing queue operation, wherein the processor performs at least one processing queue operation by retrieving a completion queue entry from a completion queue in an I/O adapter for a completed out of user space input/output operation. - View Dependent Claims (15, 16, 17)
-
Specification