diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-03-19 20:06:35 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-03-19 20:06:35 (GMT) |
commit | 1f9ff23d03d4463b0956a2f5454084261477da27 (patch) | |
tree | ae88c6f604ca3f78a1a5f578fa45189910d66e73 /src/H5VLiod_file.c | |
parent | dc25c071f06e6c544dbc4f503d9030fa1817de25 (diff) | |
download | hdf5-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.c | 15 |
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() */ |