summaryrefslogtreecommitdiffstats
path: root/testpar/t_cache.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2016-11-12 22:01:30 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2016-11-12 22:01:30 (GMT)
commitd4591ff54d9319346f49a3bc67431f0fa26a8d65 (patch)
treec73146c1bd6bdd942c462b4cf09e02768b687a78 /testpar/t_cache.c
parentd183e9a1a2eadf768996f5cc41d67aa2685a2363 (diff)
downloadhdf5-d4591ff54d9319346f49a3bc67431f0fa26a8d65.zip
hdf5-d4591ff54d9319346f49a3bc67431f0fa26a8d65.tar.gz
hdf5-d4591ff54d9319346f49a3bc67431f0fa26a8d65.tar.bz2
Bring over new 'notify' metadata cache client callback actions for when an
entry is cleaned / dirtied or its [flush dependency] child entry is cleaned / dirtied.
Diffstat (limited to 'testpar/t_cache.c')
-rw-r--r--testpar/t_cache.c57
1 files changed, 55 insertions, 2 deletions
diff --git a/testpar/t_cache.c b/testpar/t_cache.c
index 7e32d51..8b77ebe 100644
--- a/testpar/t_cache.c
+++ b/testpar/t_cache.c
@@ -2608,8 +2608,13 @@ datum_notify(H5C_notify_action_t action, void *thing)
}
HDassert( entry_ptr->header.addr == entry_ptr->base_addr );
- HDassert( ( entry_ptr->header.size == entry_ptr->len ) ||
- ( entry_ptr->header.size == entry_ptr->local_len ) );
+ /* Skip this check when the entry is being dirtied, since the resize
+ * operation sends the message before the len/local_len is updated
+ * (after the resize operation completes successfully) (QAK - 2016/10/19)
+ */
+ if(H5AC_NOTIFY_ACTION_ENTRY_DIRTIED != action)
+ HDassert( ( entry_ptr->header.size == entry_ptr->len ) ||
+ ( entry_ptr->header.size == entry_ptr->local_len ) );
switch ( action )
{
@@ -2870,6 +2875,54 @@ datum_notify(H5C_notify_action_t action, void *thing)
/* do nothing */
break;
+ case H5AC_NOTIFY_ACTION_ENTRY_DIRTIED:
+ if ( callbacks_verbose ) {
+
+ HDfprintf(stdout,
+ "%d: notify() action = entry dirty, idx = %d, addr = %ld.\n",
+ world_mpi_rank, idx, (long)entry_ptr->header.addr);
+ fflush(stdout);
+ }
+
+ /* do nothing */
+ break;
+
+ case H5AC_NOTIFY_ACTION_ENTRY_CLEANED:
+ if ( callbacks_verbose ) {
+
+ HDfprintf(stdout,
+ "%d: notify() action = entry clean, idx = %d, addr = %ld.\n",
+ world_mpi_rank, idx, (long)entry_ptr->header.addr);
+ fflush(stdout);
+ }
+
+ /* do nothing */
+ break;
+
+ case H5AC_NOTIFY_ACTION_CHILD_DIRTIED:
+ if ( callbacks_verbose ) {
+
+ HDfprintf(stdout,
+ "%d: notify() action = child entry dirty, idx = %d, addr = %ld.\n",
+ world_mpi_rank, idx, (long)entry_ptr->header.addr);
+ fflush(stdout);
+ }
+
+ /* do nothing */
+ break;
+
+ case H5AC_NOTIFY_ACTION_CHILD_CLEANED:
+ if ( callbacks_verbose ) {
+
+ HDfprintf(stdout,
+ "%d: notify() action = child entry clean, idx = %d, addr = %ld.\n",
+ world_mpi_rank, idx, (long)entry_ptr->header.addr);
+ fflush(stdout);
+ }
+
+ /* do nothing */
+ break;
+
default:
nerrors++;
ret_value = FAIL;