diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-09-26 22:50:18 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-09-26 22:50:18 (GMT) |
commit | 183c8245af3a43d2f07845a0ac717f558afa3d1c (patch) | |
tree | eaf1cdd565774fb008e9e6f836550caf7eb8d0c8 /src/H5FDmulti.c | |
parent | 415e326afec0c6975a7b02fc77a72adcb8ba979e (diff) | |
download | hdf5-183c8245af3a43d2f07845a0ac717f558afa3d1c.zip hdf5-183c8245af3a43d2f07845a0ac717f558afa3d1c.tar.gz hdf5-183c8245af3a43d2f07845a0ac717f558afa3d1c.tar.bz2 |
[svn-r2600] Purpose:
Implemented new feature
Description:
Added data sieve buffering code to raw I/O data path. This is enabled for
all the VFL drivers except the mpio & core drivers. Also added two new
API functions to control the sieve buffer size: H5Pset_sieve_buf_size() and
H5Pget_sieve_buf_size().
Platforms tested:
Solaris 2.6 (i.e. baldric)
Diffstat (limited to 'src/H5FDmulti.c')
-rw-r--r-- | src/H5FDmulti.c | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c index b77a695..68fa26a 100644 --- a/src/H5FDmulti.c +++ b/src/H5FDmulti.c @@ -115,6 +115,7 @@ static H5FD_t *H5FD_multi_open(const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr); static herr_t H5FD_multi_close(H5FD_t *_file); static int H5FD_multi_cmp(const H5FD_t *_f1, const H5FD_t *_f2); +static herr_t H5FD_multi_query(const H5FD_t *_f1, unsigned long *flags); static haddr_t H5FD_multi_get_eoa(H5FD_t *_file); static herr_t H5FD_multi_set_eoa(H5FD_t *_file, haddr_t eoa); static haddr_t H5FD_multi_get_eof(H5FD_t *_file); @@ -144,7 +145,7 @@ static const H5FD_class_t H5FD_multi_g = { H5FD_multi_open, /*open */ H5FD_multi_close, /*close */ H5FD_multi_cmp, /*cmp */ - NULL, /*query */ + H5FD_multi_query, /*query */ H5FD_multi_alloc, /*alloc */ H5FD_multi_free, /*free */ H5FD_multi_get_eoa, /*get_eoa */ @@ -1300,6 +1301,35 @@ H5FD_multi_cmp(const H5FD_t *_f1, const H5FD_t *_f2) /*------------------------------------------------------------------------- + * Function: H5FD_multi_query + * + * Purpose: Set the flags that this VFL driver is capable of supporting. + * (listed in H5FDpublic.h) + * + * Return: Success: non-negative + * + * Failure: negative + * + * Programmer: Quincey Koziol + * Tuesday, September 26, 2000 + * + * Modifications: + * + *------------------------------------------------------------------------- + */ +static herr_t +H5FD_multi_query(const H5FD_t *_f, unsigned long *flags /* out */) +{ + /* Set the VFL feature flags that this driver supports */ + if(flags) { + *flags|=H5FD_FEAT_DATA_SIEVE; /* OK to perform data sieving for faster raw data reads & writes */ + } /* end if */ + + return(0); +} + + +/*------------------------------------------------------------------------- * Function: H5FD_multi_get_eoa * * Purpose: Returns the end-of-address marker for the file. The EOA |