diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-02-13 13:24:08 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2014-02-13 13:24:08 (GMT) |
commit | 42b0ab873a14fdc1e70b792da2860b19c64b36da (patch) | |
tree | 1c01362b43dd7b5beaaaca33f12d45f50bed6b16 /src/H5Plapl.c | |
parent | d70c5343bd8dd7a980de5784a1ecfa62501bc9c7 (diff) | |
download | hdf5-42b0ab873a14fdc1e70b792da2860b19c64b36da.zip hdf5-42b0ab873a14fdc1e70b792da2860b19c64b36da.tar.gz hdf5-42b0ab873a14fdc1e70b792da2860b19c64b36da.tar.bz2 |
[svn-r24702] Add prefetch/evict routines.
- Mostly placeholders since IOD does not support much of it yet
Other fixes.
Diffstat (limited to 'src/H5Plapl.c')
-rw-r--r-- | src/H5Plapl.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/H5Plapl.c b/src/H5Plapl.c index aa02546..3173f17 100644 --- a/src/H5Plapl.c +++ b/src/H5Plapl.c @@ -38,13 +38,21 @@ #include "H5Lprivate.h" /* Links */ #include "H5MMprivate.h" /* Memory management */ #include "H5Ppkg.h" /* Property lists */ - +#include "H5VLiod.h" /* IOD plugin */ /****************/ /* Local Macros */ /****************/ /* ======== Link access properties ======== */ +#ifdef H5_HAVE_EFF +/* replica ID to use when accessing an object at IOD */ +#define H5O_ACS_REPLICA_ID_SIZE sizeof(hrpl_t) +#define H5O_ACS_REPLICA_ID_DEF 0 +#define H5O_ACS_REPLICA_ID_ENC H5P__encode_uint64_t +#define H5O_ACS_REPLICA_ID_DEC H5P__decode_uint64_t +#endif + /* Definitions for number of soft links to traverse */ #define H5L_ACS_NLINKS_SIZE sizeof(size_t) #define H5L_ACS_NLINKS_DEF H5L_NUM_LINKS /*max symlinks to follow per lookup */ @@ -151,7 +159,9 @@ static const char *H5L_def_elink_prefix_g = H5L_ACS_ELINK_PREFIX_DEF; /* Default static const hid_t H5L_def_fapl_id_g = H5L_ACS_ELINK_FAPL_DEF; /* Default fapl for external link access */ static const unsigned H5L_def_elink_flags_g = H5L_ACS_ELINK_FLAGS_DEF; /* Default file access flags for external link traversal */ static const H5L_elink_cb_t H5L_def_elink_cb_g = H5L_ACS_ELINK_CB_DEF; /* Default external link traversal callback */ - +#ifdef H5_HAVE_EFF +static const hrpl_t H5O_replica_id_g = H5O_ACS_REPLICA_ID_DEF; /* Default replica ID */ +#endif /*------------------------------------------------------------------------- @@ -177,6 +187,14 @@ H5P_lacc_reg_prop(H5P_genclass_t *pclass) FUNC_ENTER_NOAPI_NOINIT +#ifdef H5_HAVE_EFF + if(H5P_register_real(pclass, H5O_ACS_REPLICA_ID_NAME, H5O_ACS_REPLICA_ID_SIZE, + &H5O_replica_id_g, + NULL, NULL, NULL, H5O_ACS_REPLICA_ID_ENC, H5O_ACS_REPLICA_ID_DEC, + NULL, NULL, NULL, NULL) < 0) + HGOTO_ERROR(H5E_PLIST, H5E_CANTINSERT, FAIL, "can't insert property into class") +#endif + /* Register property for number of links traversed */ if(H5P_register_real(pclass, H5L_ACS_NLINKS_NAME, H5L_ACS_NLINKS_SIZE, &H5L_def_nlinks_g, NULL, NULL, NULL, H5L_ACS_NLINKS_ENC, H5L_ACS_NLINKS_DEC, |