summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJacob Smith <jake.smith@hdfgroup.org>2018-12-18 19:42:03 (GMT)
committerJacob Smith <jake.smith@hdfgroup.org>2018-12-18 19:42:03 (GMT)
commit99bc714c4bd1a66b97b5e1d0bca671cf43616b42 (patch)
treea8e80a8ccf4570cf9a72d6ed2854fa4f1ade7259 /src
parent5efc08a06d34ceab3de1766cb651ac8978deed16 (diff)
downloadhdf5-99bc714c4bd1a66b97b5e1d0bca671cf43616b42.zip
hdf5-99bc714c4bd1a66b97b5e1d0bca671cf43616b42.tar.gz
hdf5-99bc714c4bd1a66b97b5e1d0bca671cf43616b42.tar.bz2
Move H5Fset_dset_no_attrs_hint VOL operations to native.
Move minimzied object header tests from separate file to test/ohdr.c Some formatting changes.
Diffstat (limited to 'src')
-rw-r--r--src/H5F.c2
-rw-r--r--src/H5Fint.c24
-rw-r--r--src/H5Fprivate.h4
-rw-r--r--src/H5Fpublic.h3
-rw-r--r--src/H5VLnative.c23
-rw-r--r--src/H5VLpublic.h3
-rw-r--r--src/H5trace.c3
7 files changed, 42 insertions, 20 deletions
diff --git a/src/H5F.c b/src/H5F.c
index 123a107..3325ed5 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -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;