Main Page | Modules | Data Structures | File List | Data Fields | Globals

Trove storage interface

The Trove storage interface provides functionality used for interaction with underlying storage devices. More...

Files

file  trove-types.h
file  trove.c
file  trove.h

Functions

int trove_initialize (TROVE_method_id method_id, TROVE_method_callback method_callback, char *stoname, TROVE_ds_flags flags)
int trove_bstream_read_at (TROVE_coll_id coll_id, TROVE_handle handle, void *buffer, TROVE_size *inout_size_p, TROVE_offset offset, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_bstream_write_at (TROVE_coll_id coll_id, TROVE_handle handle, void *buffer, TROVE_size *inout_size_p, TROVE_offset offset, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_bstream_resize (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_size *inout_size_p, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_bstream_read_list (TROVE_coll_id coll_id, TROVE_handle handle, char **mem_offset_array, TROVE_size *mem_size_array, int mem_count, TROVE_offset *stream_offset_array, TROVE_size *stream_size_array, int stream_count, TROVE_size *out_size_p, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_bstream_write_list (TROVE_coll_id coll_id, TROVE_handle handle, char **mem_offset_array, TROVE_size *mem_size_array, int mem_count, TROVE_offset *stream_offset_array, TROVE_size *stream_size_array, int stream_count, TROVE_size *out_size_p, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_bstream_flush (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_read (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_keyval_s *key_p, TROVE_keyval_s *val_p, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_write (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_keyval_s *key_p, TROVE_keyval_s *val_p, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_remove (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_keyval_s *key_p, TROVE_keyval_s *val_p, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_read_list (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_keyval_s *key_array, TROVE_keyval_s *val_array, TROVE_ds_state *err_array, int count, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_write_list (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_keyval_s *key_array, TROVE_keyval_s *val_array, int count, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_remove_list (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_keyval_s *key_array, TROVE_keyval_s *val_array, int *error_array, int count, TROVE_ds_flags flags, TROVE_vtag_s *vtag, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_keyval_flush (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_create (TROVE_coll_id coll_id, TROVE_handle_extent_array *handle_extent_array, TROVE_handle *out_handle, TROVE_ds_type type, TROVE_keyval_s *hint, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_create_list (TROVE_coll_id coll_id, TROVE_handle_extent_array *handle_extent_array, TROVE_handle *out_handle_array, int count, TROVE_ds_type type, TROVE_keyval_s *hint, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_remove (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_remove_list (TROVE_coll_id coll_id, TROVE_handle *handle_array, TROVE_ds_state *error_array, int count, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_getattr (TROVE_coll_id coll_id, TROVE_handle handle, TROVE_ds_attributes_s *ds_attr_p, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_getattr_list (TROVE_coll_id coll_id, int nhandles, TROVE_handle *handle_array, TROVE_ds_attributes_s *ds_attr_p, TROVE_ds_state *error_array, TROVE_ds_flags flags, void *user_ptr, TROVE_context_id context_id, TROVE_op_id *out_op_id_p, PVFS_hint hints)
int trove_dspace_test (TROVE_coll_id coll_id, TROVE_op_id id, TROVE_context_id context_id, int *out_count_p, TROVE_vtag_s *vtag, void **returned_user_ptr_p, TROVE_ds_state *state_p, int max_idle_time_ms)
int trove_dspace_testsome (TROVE_coll_id coll_id, TROVE_context_id context_id, TROVE_op_id *ds_id_array, int *inout_count_p, int *out_index_array, TROVE_vtag_s *vtag_array, void **returned_user_ptr_array, TROVE_ds_state *state_array, int max_idle_time_ms)
int trove_dspace_testcontext (TROVE_coll_id coll_id, TROVE_op_id *ds_id_array, int *inout_count_p, TROVE_ds_state *state_array, void **user_ptr_array, int max_idle_time_ms, TROVE_context_id context_id)

Detailed Description

The Trove storage interface provides functionality used for interaction with underlying storage devices.

The PVFS2 server builds on this interface, and the default Flow protocol also builds on it.


Function Documentation

int trove_bstream_flush TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate movement of all data to storage devices for a specific bstream.

int trove_bstream_read_at TROVE_coll_id  coll_id,
TROVE_handle  handle,
void *  buffer,
TROVE_size *  inout_size_p,
TROVE_offset  offset,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate reading from a contiguous region in a bstream into a contiguous region in memory.

int trove_bstream_read_list TROVE_coll_id  coll_id,
TROVE_handle  handle,
char **  mem_offset_array,
TROVE_size *  mem_size_array,
int  mem_count,
TROVE_offset *  stream_offset_array,
TROVE_size *  stream_size_array,
int  stream_count,
TROVE_size *  out_size_p,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate reading from a list of regions in a bstream into a list of regions in memory.

Sizes of individual regions in lists need not match, but total sizes must be equal.

int trove_bstream_resize TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_size *  inout_size_p,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate resizing of a bstream.

This may be used to grow or shrink a bstream. It does not guarantee that space is actually allocated; rather it changes the logical size of the bstream.

int trove_bstream_write_at TROVE_coll_id  coll_id,
TROVE_handle  handle,
void *  buffer,
TROVE_size *  inout_size_p,
TROVE_offset  offset,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate writing from a contiguous region in memory into a contiguous region in a bstream.

int trove_bstream_write_list TROVE_coll_id  coll_id,
TROVE_handle  handle,
char **  mem_offset_array,
TROVE_size *  mem_size_array,
int  mem_count,
TROVE_offset *  stream_offset_array,
TROVE_size *  stream_size_array,
int  stream_count,
TROVE_size *  out_size_p,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate writing from a list of regions in memory into a list of regions in a bstream.

Sizes of individual regions in lists need not match, but total sizes must be equal.

int trove_dspace_create TROVE_coll_id  coll_id,
TROVE_handle_extent_array *  handle_extent_array,
TROVE_handle *  out_handle,
TROVE_ds_type  type,
TROVE_keyval_s *  hint,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate creation of a new data space.

int trove_dspace_create_list TROVE_coll_id  coll_id,
TROVE_handle_extent_array *  handle_extent_array,
TROVE_handle *  out_handle_array,
int  count,
TROVE_ds_type  type,
TROVE_keyval_s *  hint,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate creation of multiple new data spaces.

int trove_dspace_getattr TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_ds_attributes_s *  ds_attr_p,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate retrieval of attributes for a given data space.

int trove_dspace_getattr_list TROVE_coll_id  coll_id,
int  nhandles,
TROVE_handle *  handle_array,
TROVE_ds_attributes_s *  ds_attr_p,
TROVE_ds_state *  error_array,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate retrieval of attributes for a list of handles.

int trove_dspace_remove TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate removal of a data space.

int trove_dspace_remove_list TROVE_coll_id  coll_id,
TROVE_handle *  handle_array,
TROVE_ds_state *  error_array,
int  count,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate removal of a list of data spaces.

int trove_dspace_test TROVE_coll_id  coll_id,
TROVE_op_id  id,
TROVE_context_id  context_id,
int *  out_count_p,
TROVE_vtag_s *  vtag,
void **  returned_user_ptr_p,
TROVE_ds_state *  state_p,
int  max_idle_time_ms
 

Test for completion of a single trove operation.

int trove_dspace_testcontext TROVE_coll_id  coll_id,
TROVE_op_id *  ds_id_array,
int *  inout_count_p,
TROVE_ds_state *  state_array,
void **  user_ptr_array,
int  max_idle_time_ms,
TROVE_context_id  context_id
 

Test for completion of any trove operation within a given context.

int trove_dspace_testsome TROVE_coll_id  coll_id,
TROVE_context_id  context_id,
TROVE_op_id *  ds_id_array,
int *  inout_count_p,
int *  out_index_array,
TROVE_vtag_s *  vtag_array,
void **  returned_user_ptr_array,
TROVE_ds_state *  state_array,
int  max_idle_time_ms
 

Test for completion of one or more trove operations.

int trove_initialize TROVE_method_id  method_id,
TROVE_method_callback  method_callback,
char *  stoname,
TROVE_ds_flags  flags
 

Initializes the Trove layer.

Must be called before any other Trove functions.

int trove_keyval_flush TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_ds_flags  flags,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate movement of all keyword/value pairs to storage for a given data space.

int trove_keyval_read TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_keyval_s *  key_p,
TROVE_keyval_s *  val_p,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate read of a single keyword/value pair.

int trove_keyval_read_list TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_keyval_s *  key_array,
TROVE_keyval_s *  val_array,
TROVE_ds_state *  err_array,
int  count,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate read of multiple keyword/value pairs from the same data space as a single operation.

int trove_keyval_remove TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_keyval_s *  key_p,
TROVE_keyval_s *  val_p,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate removal of a keyword/value pair from a given data space.

int trove_keyval_remove_list TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_keyval_s *  key_array,
TROVE_keyval_s *  val_array,
int *  error_array,
int  count,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate storing of multiple keyword/value pairs to the same data space as a single operation.

int trove_keyval_write TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_keyval_s *  key_p,
TROVE_keyval_s *  val_p,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate write of a single keyword/value pair.

Expects val_p->buffer to be user allocated and val_p->buffer_sz to be size of buffer allocated. If data is too large for buffer, returns error (Cannot allocate Memory) and returns needed size in val_p->read_sz

int trove_keyval_write_list TROVE_coll_id  coll_id,
TROVE_handle  handle,
TROVE_keyval_s *  key_array,
TROVE_keyval_s *  val_array,
int  count,
TROVE_ds_flags  flags,
TROVE_vtag_s *  vtag,
void *  user_ptr,
TROVE_context_id  context_id,
TROVE_op_id *  out_op_id_p,
PVFS_hint  hints
 

Initiate storing of multiple keyword/value pairs to the same data space as a single operation.


Generated on Mon Sep 6 02:47:35 2010 for PVFS by doxygen 1.3.5