summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro Vicente Nunes <pvn@hdfgroup.org>2008-12-01 20:38:02 (GMT)
committerPedro Vicente Nunes <pvn@hdfgroup.org>2008-12-01 20:38:02 (GMT)
commit629cc339ebf51809c50a452dd473aafc619ae940 (patch)
tree3f1f5ccadb2b3ba3f6aefc05229deb2a4195bff3
parent4c221f9e0e490df1156da7984bd270d8c1babbf0 (diff)
downloadhdf5-629cc339ebf51809c50a452dd473aafc619ae940.zip
hdf5-629cc339ebf51809c50a452dd473aafc619ae940.tar.gz
hdf5-629cc339ebf51809c50a452dd473aafc619ae940.tar.bz2
[svn-r16144] Removed the check of H5Dset_extent for the space to be chunked, since external datasets can be extended
Tested: windows, linux
-rw-r--r--src/H5D.c5
-rw-r--r--test/external.c11
2 files changed, 12 insertions, 4 deletions
diff --git a/src/H5D.c b/src/H5D.c
index 699ec9a..9c552c2 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -1078,10 +1078,7 @@ H5Dset_extent(hid_t dset_id, const hsize_t size[])
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset")
if(!size)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no size specified")
- /* layout must be chunked */
- if(H5D_CHUNKED != dset->shared->layout.type)
- HGOTO_ERROR(H5E_DATASET, H5E_BADSELECT, FAIL, "layout must be chunked")
-
+
/* Private function */
if(H5D_set_extent(dset, size, H5AC_dxpl_id) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to set extend dataset")
diff --git a/test/external.c b/test/external.c
index 35d31dc..25d465c 100644
--- a/test/external.c
+++ b/test/external.c
@@ -784,6 +784,17 @@ test_3 (hid_t fapl)
} /* end if */
} /* end for */
+ /* Extend the dataset by another 100 elements */
+ if(H5Dset_extent(dset, &max_size) < 0) goto error;
+ if(H5Sclose(file_space) < 0) goto error;
+ if((file_space = H5Dget_space(dset)) < 0) goto error;
+
+ /* Write second half of dataset */
+ for(i = 0; i < hs_count; i++)
+ whole[i] = 100 + i;
+ if(H5Sselect_hyperslab(file_space, H5S_SELECT_SET, &hs_start, NULL, &hs_count, NULL) < 0) goto error;
+ if(H5Dwrite(dset, H5T_NATIVE_INT, mem_space, file_space, H5P_DEFAULT, whole) < 0) goto error;
+
if(H5Dclose(dset) < 0) goto error;
if(H5Pclose(dcpl) < 0) goto error;