[svn-r6601]

Purpose: This a fix for bug #921

Description: On platforms where big test runs, it creates a set of
             "solid" 1GB files. Test will take forever (modi4) or will fail
             if quotas are exceeded.

Solution: Default library behavior is to allocate dataset space earlier and
          to write fill values. I changed the test to use late space allocation
          and never write fill values.

Platforms tested: True64 (PSC), modi4 (sequential and parallel), arabica with 64-bit
                  option(test was skipped there). I also enabled szip and it passed :-)


Misc. update:
This commit is contained in:
Elena Pourmal 2003-04-08 18:16:40 -05:00
parent 4c6122a53c
commit c319d5813a

View File

@ -194,6 +194,7 @@ writer (hid_t fapl, int wrt_n)
int i, j;
FILE *out = fopen(DNAME, "w");
char filename[1024];
hid_t dcpl;
TESTING("large dataset write");
@ -213,10 +214,26 @@ writer (hid_t fapl, int wrt_n)
}
/* Create the datasets */
/*
* The fix below is provided for bug#921
* H5Dcreate with H5P_DEFAULT creation properties
* will create a set of solid 1GB files; test will crash if quotas are enforced
* or it will take some time to write a file.
* We should create a dataset allocating space late and never writing fill values.
* EIP 4/8/03
if ((d1=H5Dcreate (file, "d1", H5T_NATIVE_INT, space1, H5P_DEFAULT))<0 ||
(d2=H5Dcreate (file, "d2", H5T_NATIVE_INT, space2, H5P_DEFAULT))<0) {
goto error;
}
*/
dcpl = H5Pcreate(H5P_DATASET_CREATE);
H5Pset_alloc_time(dcpl, H5D_ALLOC_TIME_LATE);
H5Pset_fill_time(dcpl, H5D_FILL_TIME_NEVER);
if ((d1=H5Dcreate (file, "d1", H5T_NATIVE_INT, space1, dcpl))<0 ||
(d2=H5Dcreate (file, "d2", H5T_NATIVE_INT, space2, dcpl))<0) {
goto error;
}
/* Write some things to them randomly */