diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-09-26 22:50:18 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-09-26 22:50:18 (GMT) |
commit | 183c8245af3a43d2f07845a0ac717f558afa3d1c (patch) | |
tree | eaf1cdd565774fb008e9e6f836550caf7eb8d0c8 /src/H5Fprivate.h | |
parent | 415e326afec0c6975a7b02fc77a72adcb8ba979e (diff) | |
download | hdf5-183c8245af3a43d2f07845a0ac717f558afa3d1c.zip hdf5-183c8245af3a43d2f07845a0ac717f558afa3d1c.tar.gz hdf5-183c8245af3a43d2f07845a0ac717f558afa3d1c.tar.bz2 |
[svn-r2600] Purpose:
Implemented new feature
Description:
Added data sieve buffering code to raw I/O data path. This is enabled for
all the VFL drivers except the mpio & core drivers. Also added two new
API functions to control the sieve buffer size: H5Pset_sieve_buf_size() and
H5Pget_sieve_buf_size().
Platforms tested:
Solaris 2.6 (i.e. baldric)
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r-- | src/H5Fprivate.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index 19b65b4..e8e36e4 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -254,7 +254,8 @@ typedef struct H5F_access_t { double rdcc_w0; /* Preempt read chunks first? [0.0..1.0]*/ hsize_t threshold; /* Threshold for alignment */ hsize_t alignment; /* Alignment */ - size_t meta_block_size; /* Minimum metadata allocation block size (when aggregating metadata allocations */ + size_t meta_block_size; /* Minimum metadata allocation block size (when aggregating metadata allocations) */ + hsize_t sieve_buf_size; /* Maximum sieve buffer size (when data sieving is allowed by file driver) */ uintn gc_ref; /* Garbage-collect references? */ hid_t driver_id; /* File driver ID */ void *driver_info; /* File driver specific information */ @@ -328,6 +329,14 @@ typedef struct H5F_file_t { struct H5G_t *root_grp; /* Open root group */ intn ncwfs; /* Num entries on cwfs list */ struct H5HG_heap_t **cwfs; /* Global heap cache */ + + /* Data Sieve Buffering fields */ + unsigned char *sieve_buf; /* Buffer to hold data sieve buffer */ + haddr_t sieve_loc; /* File location (offset) of the data sieve buffer */ + hsize_t sieve_size; /* Size of the data sieve buffer used (in bytes) */ + hsize_t sieve_buf_size; /* Size of the data sieve buffer allocated (in bytes) */ + unsigned sieve_dirty; /* Flag to indicate that the data sieve buffer is dirty */ + H5F_rdcc_t rdcc; /* Raw data chunk cache */ } H5F_file_t; |