summaryrefslogtreecommitdiffstats
path: root/src/H5C2private.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-07-20 02:32:47 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-07-20 02:32:47 (GMT)
commitd08619bfe1a3cbc593bdaae5a5bd393e1d33f150 (patch)
tree57ec6ef4e2167462f2a10b5739b0f79f2299584d /src/H5C2private.h
parent90497050b818e914ab814e40811b1c0ff98384ea (diff)
downloadhdf5-d08619bfe1a3cbc593bdaae5a5bd393e1d33f150.zip
hdf5-d08619bfe1a3cbc593bdaae5a5bd393e1d33f150.tar.gz
hdf5-d08619bfe1a3cbc593bdaae5a5bd393e1d33f150.tar.bz2
[svn-r15388] Description:
Convert object header cache client to use the new metadata journaling cache, which included adding a new client for handling continuation chunks. Added "real" protect calls around modifying chunks in object headers. Switched a few more metadata cache library API routines to drop the file pointer, when it is not needed (pinning/unpinning entries, etc.) Fixed bug in journaling cache handling of 'image_len' callbacks and also changed cache to retry deserializing entries when the entry's size is larger than the speculative size initially tried. Retrying for 'image_len' callbacks has problems with the 'multi' VFD, so the h5dump and FORTRAN 'multi' tests are commented out, until the changes to the 'multi' VFD from the file free space branch are brought back into the trunk. Currently, the 'h5recover' tool has a bug which requires it to be run twice before replaying the journal "sticks". However, this is from an earlier checkin, since the code in the branch already has this behavior... :-( Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.4 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src/H5C2private.h')
-rw-r--r--src/H5C2private.h20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/H5C2private.h b/src/H5C2private.h
index a1cc12f..276180d 100644
--- a/src/H5C2private.h
+++ b/src/H5C2private.h
@@ -441,10 +441,10 @@ typedef struct H5C2_t H5C2_t;
typedef void *(*H5C2_deserialize_func_t)(haddr_t addr,
size_t len,
const void * image_ptr,
- const void * udata_ptr,
+ void * udata_ptr,
hbool_t * dirty_ptr);
-typedef herr_t (*H5C2_image_len_func_t)(void *thing,
+typedef herr_t (*H5C2_image_len_func_t)(const void *thing,
size_t *image_len_ptr);
#define H5C2__SERIALIZE_RESIZED_FLAG 0x1
@@ -1279,7 +1279,6 @@ typedef struct H5C2_auto_size_ctl_t
* These flags apply to H5C2_protect()
*
* H5C2__READ_ONLY_FLAG
- * H5C2__CHECK_SIZE_FLAG
*
* These flags apply to H5C2_unprotect():
*
@@ -1318,7 +1317,6 @@ typedef struct H5C2_auto_size_ctl_t
#define H5C2__FLUSH_MARKED_ENTRIES_FLAG 0x0100
#define H5C2__FLUSH_IGNORE_PROTECTED_FLAG 0x0200
#define H5C2__READ_ONLY_FLAG 0x0400
-#define H5C2__CHECK_SIZE_FLAG 0x0800
H5_DLL H5C2_t * H5C2_create(size_t max_cache_size,
size_t min_clean_size,
@@ -1397,34 +1395,30 @@ H5_DLL herr_t H5C2_mark_entries_as_clean(H5F_t * f,
int32_t ce_array_len,
haddr_t * ce_array_ptr);
-H5_DLL herr_t H5C2_mark_pinned_entry_dirty(H5F_t * f,
- void * thing,
+H5_DLL herr_t H5C2_mark_pinned_entry_dirty(void * thing,
hbool_t size_changed,
size_t new_size);
-H5_DLL herr_t H5C2_mark_pinned_or_protected_entry_dirty(H5F_t * f,
- void * thing);
+H5_DLL herr_t H5C2_mark_pinned_or_protected_entry_dirty(void * thing);
H5_DLL herr_t H5C2_rename_entry(H5C2_t * cache_ptr,
const H5C2_class_t * type,
haddr_t old_addr,
haddr_t new_addr);
-H5_DLL herr_t H5C2_pin_protected_entry(H5F_t * f,
- void * thing);
+H5_DLL herr_t H5C2_pin_protected_entry(void * thing);
H5_DLL void * H5C2_protect(H5F_t * f,
hid_t dxpl_id,
const H5C2_class_t * type,
haddr_t addr,
size_t len,
- const void * udata,
+ void * udata,
unsigned flags);
H5_DLL herr_t H5C2_reset_cache_hit_rate_stats(H5C2_t * cache_ptr);
-H5_DLL herr_t H5C2_resize_pinned_entry(H5F_t * f,
- void * thing,
+H5_DLL herr_t H5C2_resize_pinned_entry(void * thing,
size_t new_size);
H5_DLL herr_t H5C2_set_cache_auto_resize_config(const H5F_t * f,