Download Manual

Transcript
ERTFS User Guide
pro_assign_buffer_pool
Function:
Assign a private buffer pool to a drive.
Summary:
BOOLEAN pro_assign_buffer_pool(byte *drive_name,
int
block_hashtable_size,
BLKBUFF **block_hash_table,
int
block_buffer_pool_size,
BLKBUFF *block_buffer_pool_data)
Description:
This routine provides a way to assign a private block buffer pool to a named drive. Normally block buffer space is shared
among all drives in the system, but this function allows the caller to assign block buffers that are private to the specified drive.
This function may improve performance by reducing the amount of buffer swapping that occurs when multiple drives compete
for buffers in the common pool
Inputs:
Drive_name
-Null terminated drive designator, for example “A:”
Block_buffer_context -User supplied memory for the block buffer context block that will be assigned to the drive to
be used as a private buffer pool management structure. This must be a pointer to a structure
of type BLKBUFFCNTXT that must remain valid for the whole session and may not be deallocated. If block_buffer_context is 0, the drive
block_hashtable_size -You must set this to the size of the block hash table. Each entry in the table takes up 4 bytes.
This value must be a power of two Drive_name - Null terminated drive designator, for example
“A:”
block_hash_table
-User supplied memory for the block hash table. This must be a pointer to an array of data of
type BLKBUF *, containing block_hashtable_size elements. It must remain valid for the whole
session and must not be deallocated.
block_buffer_pool_size -You must set this to the size of the block buffer pool. Each entry in buffer pool requires approximately 540 bytes.
block_buffer_pool_data -User supplied memory for the block buffer pool.This must be a pointer to an array of data of
type BLKBUF, containing block_buffer_pool_size elements. It must remain valid for the whole
session and must not be deallocated.
Note: Please see section 3 of the ERTFS User’s Manual for a more complete discussion of these elements.
Returns:
TRUE - Success
FALSE - Failure
If FALSE is return errno will be set to one of the following.
PEINVALIDDRIVEID -Drive argument invalid
PEINVALIDPARMS - Invalid parameters.
PEINVALIDDRIVEID - Invalid drive
An ERTFS system error
Section 29: ERTFS Pro API Functions
120