diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2016-11-12 22:01:30 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2016-11-12 22:01:30 (GMT) |
commit | d4591ff54d9319346f49a3bc67431f0fa26a8d65 (patch) | |
tree | c73146c1bd6bdd942c462b4cf09e02768b687a78 /testpar | |
parent | d183e9a1a2eadf768996f5cc41d67aa2685a2363 (diff) | |
download | hdf5-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')
-rw-r--r-- | testpar/t_cache.c | 57 |
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; |