diff options
author | Raymond Lu <songyulu@hdfgroup.org> | 2006-11-06 22:17:46 (GMT) |
---|---|---|
committer | Raymond Lu <songyulu@hdfgroup.org> | 2006-11-06 22:17:46 (GMT) |
commit | 8e0a4a03c0a7923057eeb2b8b2ac16338fc87e76 (patch) | |
tree | e95317e9f70ba1bcfaab80b88e1368038ba1b2b1 /test | |
parent | 2e8e42d6c9a229d0490cd97e9711fb707ad67578 (diff) | |
download | hdf5-8e0a4a03c0a7923057eeb2b8b2ac16338fc87e76.zip hdf5-8e0a4a03c0a7923057eeb2b8b2ac16338fc87e76.tar.gz hdf5-8e0a4a03c0a7923057eeb2b8b2ac16338fc87e76.tar.bz2 |
[svn-r12870] Add a new macro H5_HAVE_DIRECT_ALIGN in configure.in. Some systems like copper and sleipnir
doesn't require alignment for Direct I/O. If this's true, write or read data just like sec2
does.
Diffstat (limited to 'test')
-rw-r--r-- | test/h5test.c | 2 | ||||
-rw-r--r-- | test/vfd.c | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/test/h5test.c b/test/h5test.c index 840e126..93f992e 100644 --- a/test/h5test.c +++ b/test/h5test.c @@ -581,7 +581,7 @@ h5_fileaccess(void) #ifdef H5_HAVE_DIRECT /* Linux direct read() and write() system calls. Set memory boundary, file block size, * and copy buffer size to the default values. */ - if (H5Pset_fapl_direct(fapl, 1024, 4096, 7*4096)<0) return -1; + if (H5Pset_fapl_direct(fapl, 1024, 4096, 8*4096)<0) return -1; #endif } else { /* Unknown driver */ @@ -214,6 +214,7 @@ test_direct(void) if(file_size<1*KB || file_size>4*KB) TEST_ERROR; +#ifdef H5_HAVE_DIRECT_ALIGN /* Allocate aligned memory for data set 1. For data set 1, everything is aligned including * memory address, size of data, and file address. */ if(posix_memalign(&points, (size_t)FBSIZE, (size_t)(DSET1_DIM1*DSET1_DIM2*sizeof(int)))!=0) @@ -221,6 +222,11 @@ test_direct(void) if(posix_memalign(&check, (size_t)FBSIZE, (size_t)(DSET1_DIM1*DSET1_DIM2*sizeof(int)))!=0) TEST_ERROR; +#else + /* Allocate aligned memory for data set 1. No need for alignment. */ + points=(int*)malloc(DSET1_DIM1*DSET1_DIM2*sizeof(int)); + check=(int*)malloc(DSET1_DIM1*DSET1_DIM2*sizeof(int)); +#endif /* Initialize the dset1 */ p1 = points; |