summaryrefslogtreecommitdiffstats
path: root/src/H5VLiod_file.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2014-03-19 20:06:35 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2014-03-19 20:06:35 (GMT)
commit1f9ff23d03d4463b0956a2f5454084261477da27 (patch)
treeae88c6f604ca3f78a1a5f578fa45189910d66e73 /src/H5VLiod_file.c
parentdc25c071f06e6c544dbc4f503d9030fa1817de25 (diff)
downloadhdf5-1f9ff23d03d4463b0956a2f5454084261477da27.zip
hdf5-1f9ff23d03d4463b0956a2f5454084261477da27.tar.gz
hdf5-1f9ff23d03d4463b0956a2f5454084261477da27.tar.bz2
[svn-r24840] - fix bug in file open
- add ifdef in indexing dummy plugin
Diffstat (limited to 'src/H5VLiod_file.c')
-rw-r--r--src/H5VLiod_file.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/H5VLiod_file.c b/src/H5VLiod_file.c
index 5d7c88c..4499a67 100644
--- a/src/H5VLiod_file.c
+++ b/src/H5VLiod_file.c
@@ -327,6 +327,7 @@ H5VL_iod_server_file_open_cb(AXE_engine_t UNUSED axe_engine,
iod_size_t key_size = 0, val_size = 0;
uint32_t cs_scope = 0;
iod_ret_t ret;
+ iod_hint_list_t *con_open_hint = NULL;
herr_t ret_value = SUCCEED;
FUNC_ENTER_NOAPI_NOINIT
@@ -350,8 +351,15 @@ H5VL_iod_server_file_open_cb(AXE_engine_t UNUSED axe_engine,
if(H5Pget_metadata_integrity_scope(input->fapl_id, &cs_scope) < 0)
HGOTO_ERROR2(H5E_PLIST, H5E_CANTGET, FAIL, "can't get scope for data integrity checks");
+ /* scratch pad integrity in the container */
+ if(cs_scope & H5_CHECKSUM_IOD) {
+ con_open_hint = (iod_hint_list_t *)malloc(sizeof(iod_hint_list_t) + sizeof(iod_hint_t));
+ con_open_hint->num_hint = 1;
+ con_open_hint->hint[0].key = "iod_hint_co_scratch_cksum";
+ }
+
/* open the container */
- if(iod_container_open(input->name, NULL, mode, &coh, NULL /*event*/))
+ if(iod_container_open(input->name, con_open_hint, mode, &coh, NULL /*event*/))
HGOTO_ERROR2(H5E_FILE, H5E_CANTINIT, FAIL, "can't open file");
if(iod_query_cont_trans_stat(coh, &tids, NULL) < 0)
@@ -547,6 +555,11 @@ done:
input = (file_open_in_t *)H5MM_xfree(input);
op_data = (op_data_t *)H5MM_xfree(op_data);
+ if(con_open_hint) {
+ free(con_open_hint);
+ con_open_hint = NULL;
+ }
+
FUNC_LEAVE_NOAPI_VOID
} /* end H5VL_iod_server_file_open_cb() */