diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/H5F.c | 2 | ||||
-rw-r--r-- | src/H5Fint.c | 24 | ||||
-rw-r--r-- | src/H5Fprivate.h | 4 | ||||
-rw-r--r-- | src/H5Fpublic.h | 3 | ||||
-rw-r--r-- | src/H5VLnative.c | 23 | ||||
-rw-r--r-- | src/H5VLpublic.h | 3 | ||||
-rw-r--r-- | src/H5trace.c | 3 |
7 files changed, 42 insertions, 20 deletions
@@ -1858,7 +1858,7 @@ H5Fget_dset_no_attrs_hint(hid_t file_id, hbool_t *minimize) if(NULL == vol_obj) HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid file identifier") -#if 1 +#if 0 if(H5VL_file_get(vol_obj, H5VL_FILE_GET_MIN_DSET_OHDR_FLAG, H5P_DATASET_XFER_DEFAULT, H5_REQUEST_NULL, minimize) < 0) HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "unable to get file's dataset header minimization flag") #else diff --git a/src/H5Fint.c b/src/H5Fint.c index b212657..46ed62a 100644 --- a/src/H5Fint.c +++ b/src/H5Fint.c @@ -3713,3 +3713,27 @@ done: FUNC_LEAVE_NOAPI(ret_value) } /* end H5F_get_file_id() */ + +/*------------------------------------------------------------------------- + * Function: H5F_set_min_dset_ohdr + * + * Purpose: Set the crt_dset_ohdr_flag field with a new value. + * + * Return: SUCCEED/FAIL + *------------------------------------------------------------------------- + */ +herr_t +H5F_set_min_dset_ohdr(H5F_t *f, hbool_t minimize) +{ + /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ + FUNC_ENTER_NOAPI_NOINIT_NOERR + + /* Sanity check */ + HDassert(f); + HDassert(f->shared); + + f->shared->crt_dset_min_ohdr_flag = minimize; + + FUNC_LEAVE_NOAPI(SUCCEED) +} /* H5F_set_min_dset_ohdr() */ + diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 788bac2..b9ed163 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -331,7 +331,7 @@ typedef struct H5F_t H5F_t; #define H5F_POINT_OF_NO_RETURN(F) ((F)->shared->fs.point_of_no_return) #define H5F_FIRST_ALLOC_DEALLOC(F) ((F)->shared->first_alloc_dealloc) #define H5F_EOA_PRE_FSM_FSALLOC(F) ((F)->shared->eoa_pre_fsm_fsalloc) -#define H5F_MIN_DSET_OHDR(F) ((F)->shared->crt_dset_min_ohdr_flag) +#define H5F_GET_MIN_DSET_OHDR(F) ((F)->shared->crt_dset_min_ohdr_flag) #define H5F_SET_MIN_DSET_OHDR(F, V) ((F)->shared->crt_dset_min_ohdr_flag = (V)) #else /* H5F_MODULE */ #define H5F_LOW_BOUND(F) (H5F_get_low_bound(F)) @@ -390,7 +390,7 @@ typedef struct H5F_t H5F_t; #define H5F_POINT_OF_NO_RETURN(F) (H5F_get_point_of_no_return(F)) #define H5F_FIRST_ALLOC_DEALLOC(F) (H5F_get_first_alloc_dealloc(F)) #define H5F_EOA_PRE_FSM_FSALLOC(F) (H5F_get_eoa_pre_fsm_fsalloc(F)) -#define H5F_MIN_DSET_OHDR(F) (H5F_get_min_dset_ohdr(F)) +#define H5F_GET_MIN_DSET_OHDR(F) (H5F_get_min_dset_ohdr(F)) #define H5F_SET_MIN_DSET_OHDR(F, V) (H5F_set_min_dset_ohdr((F), (V))) #endif /* H5F_MODULE */ diff --git a/src/H5Fpublic.h b/src/H5Fpublic.h index 3795a68..36143a7 100644 --- a/src/H5Fpublic.h +++ b/src/H5Fpublic.h @@ -244,7 +244,8 @@ typedef enum H5VL_native_file_optional_t { H5VL_NATIVE_FILE_GET_EOA, /* H5Fget_eoa */ H5VL_NATIVE_FILE_INCR_FILESIZE, /* H5Fincrement_filesize */ H5VL_NATIVE_FILE_SET_LIBVER_BOUNDS, /* H5Fset_latest_format/libver_bounds */ - H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG /* H5Fset_dset_no_attrs_hint*/ + H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG, /* H5Fget_dset_no_attrs_hint */ + H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG /* H5Fset_dset_no_attrs_hint */ } H5VL_native_file_optional_t; diff --git a/src/H5VLnative.c b/src/H5VLnative.c index 2b0f01f..0d82f38 100644 --- a/src/H5VLnative.c +++ b/src/H5VLnative.c @@ -1614,17 +1614,6 @@ H5VL__native_file_get(void *obj, H5VL_file_get_t get_type, break; } - /* H5Fget_dset_no_attrs_hint */ - case H5VL_FILE_GET_MIN_DSET_OHDR_FLAG: - { - hbool_t *minimize = va_arg(arguments, hbool_t*); - f = (H5F_t*)obj; - if(NULL == f) - HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file") - *minimize = H5F_MIN_DSET_OHDR(f); - break; - } - default: HGOTO_ERROR(H5E_VOL, H5E_CANTGET, FAIL, "can't get this type of information") } /* end switch */ @@ -2123,6 +2112,18 @@ H5VL__native_file_optional(void *obj, hid_t H5_ATTR_UNUSED dxpl_id, void H5_ATTR } /* H5Fget_dset_no_attrs_hint */ + case H5VL_NATIVE_FILE_GET_MIN_DSET_OHDR_FLAG: + { + hbool_t *minimize = va_arg(arguments, hbool_t *); + *minimize = H5F_GET_MIN_DSET_OHDR(f); +#if 0 + if(H5F_get_min_dset_ohdr(f, (hbool_t)minimize) < 0) + HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "cannot set file's dataset object header minimization flag") +#endif + break; + } + + /* H5Fset_dset_no_attrs_hint */ case H5VL_NATIVE_FILE_SET_MIN_DSET_OHDR_FLAG: { int minimize = va_arg(arguments, int); diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h index 5e5c6b0..5de36c8 100644 --- a/src/H5VLpublic.h +++ b/src/H5VLpublic.h @@ -115,8 +115,7 @@ typedef enum H5VL_file_get_t { H5VL_FILE_GET_INTENT, /* file intent */ H5VL_FILE_GET_NAME, /* file name */ H5VL_FILE_GET_OBJ_COUNT, /* object count in file */ - H5VL_FILE_GET_OBJ_IDS, /* object ids in file */ - H5VL_FILE_GET_MIN_DSET_OHDR_FLAG /* minimize dataset object headers? */ + H5VL_FILE_GET_OBJ_IDS /* object ids in file */ } H5VL_file_get_t; /* types for file SPECIFIC callback */ diff --git a/src/H5trace.c b/src/H5trace.c index 6bb6f02..9a13193 100644 --- a/src/H5trace.c +++ b/src/H5trace.c @@ -2719,9 +2719,6 @@ H5_trace(const double *returning, const char *func, const char *type, ...) case H5VL_FILE_GET_OBJ_IDS: HDfprintf(out, "H5VL_FILE_GET_OBJ_IDS"); break; - case H5VL_FILE_GET_MIN_DSET_OHDR_FLAG: - HDfprintf(out, "H5VL_FILE_GET_MIN_DSET_OHDR_FLAG"); - break; default: HDfprintf(out, "%ld", (long)get); break; |