summaryrefslogtreecommitdiffstats
path: root/src/H5Adeprec.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2013-03-28 15:36:13 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2013-03-28 15:36:13 (GMT)
commitfd88a0006ead7571a652586c9f2eb376123b2f3b (patch)
treee933d4303ece0f743fde709cb73120241fa4fa1e /src/H5Adeprec.c
parentdbdedfdd2e5812b3c1d97e2f1f7361684db2d8e4 (diff)
downloadhdf5-fd88a0006ead7571a652586c9f2eb376123b2f3b.zip
hdf5-fd88a0006ead7571a652586c9f2eb376123b2f3b.tar.gz
hdf5-fd88a0006ead7571a652586c9f2eb376123b2f3b.tar.bz2
[svn-r23473] Update the VOL plugin callbacks with better async I/O support:
- change hid_t req in callbacks to void **req - change all callbacks to accept dxpl_ids (except dataset write and read which already do) - update all the private and public VL routines to accept a dxpl_id and event queue id - Add an async class for the VOL plugin with cancel, test, and wait request operations - add the external VOL log plugin test to the examples directory NOTE that async operations are still not provided by the HDF5 API, so all event queue IDs and requests passed to all plugins are NULL for now. Tested on jam.
Diffstat (limited to 'src/H5Adeprec.c')
-rw-r--r--src/H5Adeprec.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/H5Adeprec.c b/src/H5Adeprec.c
index 2cc3b80..248b969 100644
--- a/src/H5Adeprec.c
+++ b/src/H5Adeprec.c
@@ -181,7 +181,7 @@ H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information")
/* Create the attribute through the VOL */
- if(NULL == (attr = H5VL_attr_create(obj, loc_params, vol_plugin, name, plist_id, H5P_DEFAULT, H5_REQUEST_NULL)))
+ if(NULL == (attr = H5VL_attr_create(obj, loc_params, vol_plugin, name, plist_id, H5P_DEFAULT, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create attribute")
/* Get an atom for the attribute */
@@ -190,7 +190,7 @@ H5Acreate1(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
done:
if (ret_value < 0 && attr)
- if(H5VL_attr_close (attr, vol_plugin, H5_REQUEST_NULL) < 0)
+ if(H5VL_attr_close (attr, vol_plugin, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL) < 0)
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
} /* H5Acreate1() */
@@ -248,7 +248,7 @@ H5Aopen_name(hid_t loc_id, const char *name)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information")
/* Create the attribute through the VOL */
- if(NULL == (attr = H5VL_attr_open(obj, loc_params, vol_plugin, name, H5P_DEFAULT, H5_REQUEST_NULL)))
+ if(NULL == (attr = H5VL_attr_open(obj, loc_params, vol_plugin, name, H5P_DEFAULT, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to open attribute")
/* Get an atom for the attribute */
@@ -257,7 +257,7 @@ H5Aopen_name(hid_t loc_id, const char *name)
done:
if (ret_value < 0 && attr)
- if(H5VL_attr_close (attr, vol_plugin, H5_REQUEST_NULL) < 0)
+ if(H5VL_attr_close (attr, vol_plugin, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL) < 0)
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
} /* H5Aopen_name() */
@@ -317,7 +317,7 @@ H5Aopen_idx(hid_t loc_id, unsigned idx)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "ID does not contain VOL information")
/* Create the attribute through the VOL */
- if(NULL == (attr = H5VL_attr_open(obj, loc_params, vol_plugin, NULL, H5P_DEFAULT, H5_REQUEST_NULL)))
+ if(NULL == (attr = H5VL_attr_open(obj, loc_params, vol_plugin, NULL, H5P_DEFAULT, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to open attribute")
/* Get an atom for the attribute */
@@ -326,7 +326,7 @@ H5Aopen_idx(hid_t loc_id, unsigned idx)
done:
if (ret_value < 0 && attr)
- if(H5VL_attr_close (attr, vol_plugin, H5_REQUEST_NULL) < 0)
+ if(H5VL_attr_close (attr, vol_plugin, H5AC_dxpl_id, H5_EVENT_QUEUE_NULL) < 0)
HDONE_ERROR(H5E_DATASET, H5E_CLOSEERROR, FAIL, "unable to release dataset")
FUNC_LEAVE_API(ret_value)
} /* H5Aopen_idx() */
@@ -374,7 +374,7 @@ H5Aget_num_attrs(hid_t loc_id)
/* Get the group info through the VOL using the location token */
if(H5VL_object_get(obj, loc_params, vol_plugin, H5VL_OBJECT_GET_INFO,
- H5_REQUEST_NULL, &oinfo) < 0)
+ H5AC_dxpl_id, H5_EVENT_QUEUE_NULL, &oinfo) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get group info")
ret_value = oinfo.num_attrs;