diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-10-10 07:43:38 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-10-10 07:43:38 (GMT) |
commit | ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c (patch) | |
tree | 3e890bc815dc7417676b608423d39f2b4294ce82 /src/H5Fcontig.c | |
parent | 428f04e82a7bff2e4a7600db9616ff3a5ecd07a8 (diff) | |
download | hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.zip hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.tar.gz hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.tar.bz2 |
[svn-r2652] Purpose:
Maintainance & performance enhancements
Description:
Re-arranged header files to protect private symbols better.
Changed optimized regular hyperslab I/O to compute the offsets more
efficiently from previous method of using matrix operations.
Added sequential I/O operations at a more abstract level (at the same level
as H5F_arr_read/write), to support the optimized hyperslab I/O.
Platforms tested:
Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
Diffstat (limited to 'src/H5Fcontig.c')
-rw-r--r-- | src/H5Fcontig.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/H5Fcontig.c b/src/H5Fcontig.c index d4430c0..b4f4ab1 100644 --- a/src/H5Fcontig.c +++ b/src/H5Fcontig.c @@ -11,9 +11,12 @@ * H5F_seg_read/write. * */ + +#define H5F_PACKAGE /*suppress error about including H5Fpkg */ + #include <H5private.h> #include <H5Eprivate.h> -#include <H5Fprivate.h> +#include <H5Fpkg.h> #include <H5FDprivate.h> /*file driver */ #include <H5MMprivate.h> @@ -244,8 +247,8 @@ H5F_contig_write(H5F_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size, f->shared->sieve_size=0; } /* end if */ - /* Write directly from the user's buffer */ - if (H5F_block_write(f, H5FD_MEM_DRAW, addr, size, dxpl_id, buf)<0) { + /* Write directly to the user's buffer */ + if (H5F_block_write(f, type, addr, size, dxpl_id, buf)<0) { HRETURN_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "block write failed"); } @@ -293,7 +296,7 @@ H5F_contig_write(H5F_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size, else { /* Check if we can actually hold the I/O request in the sieve buffer */ if(size>f->shared->sieve_buf_size) { - if (H5F_block_write(f, H5FD_MEM_DRAW, addr, size, dxpl_id, buf)<0) { + if (H5F_block_write(f, type, addr, size, dxpl_id, buf)<0) { HRETURN_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "block write failed"); } @@ -330,7 +333,7 @@ H5F_contig_write(H5F_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size, } /* end else */ } /* end if */ else { - if (H5F_block_write(f, H5FD_MEM_DRAW, addr, size, dxpl_id, buf)<0) { + if (H5F_block_write(f, type, addr, size, dxpl_id, buf)<0) { HRETURN_ERROR(H5E_IO, H5E_WRITEERROR, FAIL, "block write failed"); } |