diff options
author | Robb Matzke <matzke@llnl.gov> | 1998-03-05 15:48:16 (GMT) |
---|---|---|
committer | Robb Matzke <matzke@llnl.gov> | 1998-03-05 15:48:16 (GMT) |
commit | 4badc161ae7cd13a01e17b8c920759e47631951a (patch) | |
tree | 4170b0ca9da9713784d87ab1b39ae8a814e23aed /src/H5D.c | |
parent | 2b323ed454f0bba86683b4b04c7baa5cc8fe34e4 (diff) | |
download | hdf5-4badc161ae7cd13a01e17b8c920759e47631951a.zip hdf5-4badc161ae7cd13a01e17b8c920759e47631951a.tar.gz hdf5-4badc161ae7cd13a01e17b8c920759e47631951a.tar.bz2 |
[svn-r305] Changes since 19980304
----------------------
./MANIFEST
New files
./html/extern1.gif [NEW]
./html/extern1.obj [NEW]
./html/extern2.gif [NEW]
./html/extern2.obj [NEW]
./html/Datasets.html
Documented external raw data storage.
./html/Datasets.html
./html/chunk1.gif [NEW]
./html/chunk1.obj [NEW]
Added a picture and better description for chunking since it
seems that people are thinking chunks are fixed-size at the
file level instead of at the array level.
./src/H5D.c
./src/H5Dpublic.h
./test/external.c
Changed H5Dget_create_parms() to H5Dget_create_plist().
./src/H5D.c
./src/H5Farray.c
./src/H5Fprivate.h
./src/H5Oefl.c
./src/H5Oprivate.h
./src/H5Sprivate.h
./src/H5Ssimp.c
./test/external.c
./test/istore.c
External raw data file I/O for contiguous storage is now
working. The library supports segments of various sizes which
can be scattered throughout multiple files in any order.
./test/Makefile.in
Remove more temporary files.
Diffstat (limited to 'src/H5D.c')
-rw-r--r-- | src/H5D.c | 25 |
1 files changed, 10 insertions, 15 deletions
@@ -413,7 +413,7 @@ H5Dget_type (hid_t dataset_id) } /*------------------------------------------------------------------------- - * Function: H5Dget_create_parms + * Function: H5Dget_create_plist * * Purpose: Returns a copy of the dataset creation property list. * @@ -431,13 +431,13 @@ H5Dget_type (hid_t dataset_id) *------------------------------------------------------------------------- */ hid_t -H5Dget_create_parms (hid_t dataset_id) +H5Dget_create_plist (hid_t dataset_id) { H5D_t *dataset = NULL; H5D_create_t *copied_parms = NULL; hid_t ret_value = FAIL; - FUNC_ENTER (H5Dget_create_parms, FAIL); + FUNC_ENTER (H5Dget_create_plist, FAIL); /* Check args */ if (H5_DATASET!=H5A_group (dataset_id) || @@ -962,9 +962,9 @@ H5D_open(H5F_t *f, const char *name) } /* Get the external file list message, which might not exist */ - if (!H5F_addr_defined (&(dataset->layout.addr)) && - NULL==H5O_read (&(dataset->ent), H5O_EFL, 0, - &(dataset->create_parms->efl))) { + if (NULL==H5O_read (&(dataset->ent), H5O_EFL, 0, + &(dataset->create_parms->efl)) && + !H5F_addr_defined (&(dataset->layout.addr))) { HGOTO_ERROR (H5E_DATASET, H5E_CANTINIT, NULL, "storage address is undefined an no external file list"); } @@ -1128,10 +1128,6 @@ H5D_read(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "src and dest data spaces have different sizes"); } - if (dataset->create_parms->efl.nused>0) { - HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL, - "reading externally-stored data is not implemented yet"); - } /* * Compute the size of the request and allocate scratch buffers. @@ -1157,6 +1153,7 @@ H5D_read(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, * later ;-) */ if ((sconv_func->fgath)(dataset->ent.file, &(dataset->layout), + &(dataset->create_parms->efl), H5T_get_size (dataset->type), file_space, &numbering, 0, nelmts, tconv_buf/*out*/)!=nelmts) { @@ -1275,11 +1272,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, HGOTO_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL, "src and dest data spaces have different sizes"); } - if (dataset->create_parms->efl.nused>0) { - HGOTO_ERROR (H5E_DATASET, H5E_UNSUPPORTED, FAIL, - "writing externally-stored data is not implemente yet"); - } - + /* * Compute the size of the request and allocate scratch buffers. */ @@ -1310,6 +1303,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, } if (H5T_BKG_YES==cdata->need_bkg) { if ((sconv_func->fgath)(dataset->ent.file, &(dataset->layout), + &(dataset->create_parms->efl), H5T_get_size (dataset->type), file_space, &numbering, 0, nelmts, bkg_buf/*out*/)!=nelmts) { @@ -1332,6 +1326,7 @@ H5D_write(H5D_t *dataset, const H5T_t *mem_type, const H5S_t *mem_space, * Scatter the data out to the file. */ if ((sconv_func->fscat)(dataset->ent.file, &(dataset->layout), + &(dataset->create_parms->efl), H5T_get_size (dataset->type), file_space, &numbering, 0, nelmts, tconv_buf)<0) { HGOTO_ERROR (H5E_DATASET, H5E_WRITEERROR, FAIL, "scatter failed"); |