diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2010-05-06 14:24:08 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2010-05-06 14:24:08 (GMT) |
commit | 772d09112253a0d86f93a551299c2601aebddcca (patch) | |
tree | ad90ff73b4ea7f5f9d9b490094eb4d77f1789b6e /src | |
parent | 62199d8ca155f98543548e896c8dada2225db3dd (diff) | |
download | hdf5-772d09112253a0d86f93a551299c2601aebddcca.zip hdf5-772d09112253a0d86f93a551299c2601aebddcca.tar.gz hdf5-772d09112253a0d86f93a551299c2601aebddcca.tar.bz2 |
[svn-r18723] Description:
Rename H5[A]C_rename to H5[A]C_move_entry.
Tested on:
Mac OS X/32 10.6.3 (amazon) w/debug & production
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Diffstat (limited to 'src')
-rw-r--r-- | src/H5AC.c | 105 | ||||
-rw-r--r-- | src/H5ACpkg.h | 18 | ||||
-rw-r--r-- | src/H5ACprivate.h | 4 | ||||
-rw-r--r-- | src/H5B.c | 2 | ||||
-rw-r--r-- | src/H5C.c | 172 | ||||
-rw-r--r-- | src/H5Cjournal.c | 6 | ||||
-rw-r--r-- | src/H5Cpkg.h | 91 | ||||
-rw-r--r-- | src/H5Cprivate.h | 24 | ||||
-rw-r--r-- | src/H5Edefin.h | 4 | ||||
-rw-r--r-- | src/H5Einit.h | 12 | ||||
-rw-r--r-- | src/H5Epubgen.h | 6 | ||||
-rw-r--r-- | src/H5Eterm.h | 4 | ||||
-rw-r--r-- | src/H5FSsection.c | 8 | ||||
-rw-r--r-- | src/H5HFcache.c | 4 | ||||
-rw-r--r-- | src/H5HFiblock.c | 6 | ||||
-rw-r--r-- | src/H5HL.c | 4 | ||||
-rw-r--r-- | src/H5err.txt | 4 |
17 files changed, 179 insertions, 295 deletions
@@ -93,7 +93,7 @@ H5FL_DEFINE_STATIC(H5AC_aux_t); * * addr: file offset of a metadata entry. Entries are added to this * list (if they aren't there already) when they are marked - * dirty in an unprotect, inserted, or renamed. They are + * dirty in an unprotect, inserted, or moved. They are * removed when they appear in a clean entries broadcast. * ****************************************************************************/ @@ -191,7 +191,7 @@ static herr_t H5AC_receive_and_apply_clean_list(H5F_t * f, hid_t dxpl_id, H5AC_t * cache_ptr); -static herr_t H5AC_log_renamed_entry(const H5F_t * f, +static herr_t H5AC_log_moved_entry(const H5F_t * f, haddr_t old_addr, haddr_t new_addr); #endif /* H5_HAVE_PARALLEL */ @@ -587,8 +587,8 @@ H5AC_create(const H5F_t *f, aux_ptr->unprotect_dirty_bytes_updates = 0; aux_ptr->insert_dirty_bytes = 0; aux_ptr->insert_dirty_bytes_updates = 0; - aux_ptr->rename_dirty_bytes = 0; - aux_ptr->rename_dirty_bytes_updates = 0; + aux_ptr->move_dirty_bytes = 0; + aux_ptr->move_dirty_bytes_updates = 0; #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ aux_ptr->d_slist_ptr = NULL; aux_ptr->d_slist_len = 0; @@ -1453,7 +1453,7 @@ done: * The type and addr parameters are retained to avoid source * code changed, but values other than NULL and HADDR_UNDEF * respectively are errors. If all goes well, they should - * be removed, and the function renamed to something more + * be removed, and the function moved to something more * descriptive -- perhaps H5AC_flush_cache. * * If the cache contains protected entries, the function will @@ -1561,8 +1561,8 @@ H5AC_flush(H5F_t *f, hid_t dxpl_id, unsigned flags) (int)(aux_ptr->unprotect_dirty_bytes_updates), (int)(aux_ptr->insert_dirty_bytes), (int)(aux_ptr->insert_dirty_bytes_updates), - (int)(aux_ptr->rename_dirty_bytes), - (int)(aux_ptr->rename_dirty_bytes_updates)); + (int)(aux_ptr->move_dirty_bytes), + (int)(aux_ptr->move_dirty_bytes_updates)); #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ /* to prevent "messages from the future" we must synchronize all @@ -1981,7 +1981,7 @@ done: /*------------------------------------------------------------------------- - * Function: H5AC_rename + * Function: H5AC_move_entry * * Purpose: Use this function to notify the cache that an object's * file address changed. @@ -1992,41 +1992,10 @@ done: * matzke@llnl.gov * Jul 9 1997 * - * Modifications: - * Robb Matzke, 1999-07-27 - * The OLD_ADDR and NEW_ADDR arguments are passed by value. - * - * JRM 5/17/04 - * Complete rewrite for the new meta-data cache. - * - * JRM - 6/7/04 - * Abstracted the guts of the function to H5C_rename_entry() - * in H5C.c, and then re-wrote the function as a wrapper for - * H5C_rename_entry(). - * - * JRM - 7/5/05 - * Added code to track dirty byte generation, and to trigger - * clean entry list propagation when it exceeds a user - * specified threshold. Note that this code only applies in - * the PHDF5 case. It should have no effect on either the - * serial or FPHSD5 cases. - * - * Note that this code presumes that the renamed entry will - * be present in all caches -- which it must be at present. - * To maintain this invarient, only rename entries immediately - * after you unprotect them. - * - * JRM - 6/6/06 - * Added trace file support. - * - * JRM - 10/18/07 - * Modified code in support of revised cache API needed - * to permit journaling. - * *------------------------------------------------------------------------- */ herr_t -H5AC_rename(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_addr) +H5AC_move_entry(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_addr) { herr_t result; herr_t ret_value=SUCCEED; /* Return value */ @@ -2038,7 +2007,7 @@ H5AC_rename(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_ad FILE * trace_file_ptr = NULL; #endif /* H5AC__TRACE_FILE_ENABLED */ - FUNC_ENTER_NOAPI(H5AC_rename, FAIL) + FUNC_ENTER_NOAPI(H5AC_move_entry, FAIL) HDassert(f); HDassert(f->shared->cache); @@ -2048,7 +2017,7 @@ H5AC_rename(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_ad HDassert(H5F_addr_ne(old_addr, new_addr)); #if H5AC__TRACE_FILE_ENABLED - /* For the rename call, only the old addr and new addr are really + /* For the move call, only the old addr and new addr are really * necessary in the trace file. Include the type id so we don't have to * look it up. Also write the result to catch occult errors. */ @@ -2058,7 +2027,7 @@ H5AC_rename(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_ad ( H5C_get_trace_file_ptr(f->shared->cache, &trace_file_ptr) >= 0) && ( trace_file_ptr != NULL ) ) { - sprintf(trace, "H5AC_rename 0x%lx 0x%lx %d", + sprintf(trace, "H5AC_move_entry 0x%lx 0x%lx %d", (unsigned long)old_addr, (unsigned long)new_addr, (int)(type->id)); @@ -2067,20 +2036,20 @@ H5AC_rename(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_ad #ifdef H5_HAVE_PARALLEL if ( NULL != (aux_ptr = f->shared->cache->aux_ptr) ) { - if(H5AC_log_renamed_entry(f, old_addr, new_addr) < 0) - HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "can't log renamed entry") + if(H5AC_log_moved_entry(f, old_addr, new_addr) < 0) + HGOTO_ERROR(H5E_CACHE, H5E_CANTUNPROTECT, FAIL, "can't log moved entry") } #endif /* H5_HAVE_PARALLEL */ - result = H5C_rename_entry(f->shared->cache, + result = H5C_move_entry(f->shared->cache, type, old_addr, new_addr); if ( result < 0 ) { - HGOTO_ERROR(H5E_CACHE, H5E_CANTRENAME, FAIL, \ - "H5C_rename_entry() failed.") + HGOTO_ERROR(H5E_CACHE, H5E_CANTMOVE, FAIL, \ + "H5C_move_entry() failed.") } #ifdef H5_HAVE_PARALLEL @@ -2110,7 +2079,7 @@ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5AC_rename() */ +} /* H5AC_move_entry() */ /*------------------------------------------------------------------------- @@ -5015,15 +4984,15 @@ done: /*------------------------------------------------------------------------- * - * Function: H5AC_log_renamed_entry() + * Function: H5AC_log_moved_entry() * - * Purpose: Update the dirty_bytes count for a renamed entry. + * Purpose: Update the dirty_bytes count for a moved entry. * * WARNING * - * At present, the way that the rename call is used ensures - * that the renamed entry is present in all caches by - * renaming in a collective operation and immediately after + * At present, the way that the move call is used ensures + * that the moved entry is present in all caches by + * moving in a collective operation and immediately after * unprotecting the target entry. * * This function uses this invarient, and will cause arcane @@ -5031,17 +5000,17 @@ done: * becomes impossible, we will have to rework this function * extensively, and likely include a bit of IPC for * synchronization. A better option might be to subsume - * rename in the unprotect operation. + * move in the unprotect operation. * * Given that the target entry is in all caches, the function * proceeds as follows: * * For processes with mpi rank other 0, it simply checks to - * see if the entry was dirty prior to the rename, and adds + * see if the entry was dirty prior to the move, and adds * the entries size to the dirty bytes count. * * In the process with mpi rank 0, the function first checks - * to see if the entry was dirty prior to the rename. If it + * to see if the entry was dirty prior to the move. If it * was, and if the entry doesn't appear in the dirtied list * under its old address, it adds the entry's size to the * dirty bytes count. @@ -5063,7 +5032,7 @@ done: */ #ifdef H5_HAVE_PARALLEL static herr_t -H5AC_log_renamed_entry(const H5F_t *f, +H5AC_log_moved_entry(const H5F_t *f, haddr_t old_addr, haddr_t new_addr) { @@ -5075,7 +5044,7 @@ H5AC_log_renamed_entry(const H5F_t *f, H5AC_slist_entry_t * slist_entry_ptr = NULL; herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(H5AC_log_renamed_entry, FAIL) + FUNC_ENTER_NOAPI(H5AC_log_moved_entry, FAIL) HDassert( f ); HDassert( f->shared ); @@ -5180,8 +5149,8 @@ H5AC_log_renamed_entry(const H5F_t *f, aux_ptr->dirty_bytes += entry_size; #if H5AC_DEBUG_DIRTY_BYTES_CREATION - aux_ptr->rename_dirty_bytes += entry_size; - aux_ptr->rename_dirty_bytes_updates += 1; + aux_ptr->move_dirty_bytes += entry_size; + aux_ptr->move_dirty_bytes_updates += 1; #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ } @@ -5207,8 +5176,8 @@ H5AC_log_renamed_entry(const H5F_t *f, aux_ptr->dirty_bytes += entry_size; #if H5AC_DEBUG_DIRTY_BYTES_CREATION - aux_ptr->rename_dirty_bytes += entry_size; - aux_ptr->rename_dirty_bytes_updates += 1; + aux_ptr->move_dirty_bytes += entry_size; + aux_ptr->move_dirty_bytes_updates += 1; #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ } @@ -5216,7 +5185,7 @@ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5AC_log_renamed_entry() */ +} /* H5AC_log_moved_entry() */ #endif /* H5_HAVE_PARALLEL */ @@ -5324,8 +5293,8 @@ H5AC_propagate_flushed_and_still_clean_entries_list(H5F_t * f, (int)(aux_ptr->unprotect_dirty_bytes_updates), (int)(aux_ptr->insert_dirty_bytes), (int)(aux_ptr->insert_dirty_bytes_updates), - (int)(aux_ptr->rename_dirty_bytes), - (int)(aux_ptr->rename_dirty_bytes_updates)); + (int)(aux_ptr->move_dirty_bytes), + (int)(aux_ptr->move_dirty_bytes_updates)); #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ if ( do_barrier ) { @@ -5385,8 +5354,8 @@ H5AC_propagate_flushed_and_still_clean_entries_list(H5F_t * f, aux_ptr->unprotect_dirty_bytes_updates = 0; aux_ptr->insert_dirty_bytes = 0; aux_ptr->insert_dirty_bytes_updates = 0; - aux_ptr->rename_dirty_bytes = 0; - aux_ptr->rename_dirty_bytes_updates = 0; + aux_ptr->move_dirty_bytes = 0; + aux_ptr->move_dirty_bytes_updates = 0; #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ done: diff --git a/src/H5ACpkg.h b/src/H5ACpkg.h index 911aceb..d5346f5 100644 --- a/src/H5ACpkg.h +++ b/src/H5ACpkg.h @@ -107,7 +107,7 @@ * * Maintaining this count is easy for all processes not on process 0 -- * all that is necessary is to add the size of the entry to the total - * whenever there is an insertion, a rename of a previously clean entry, + * whenever there is an insertion, a move of a previously clean entry, * or whever a previously clean entry is marked dirty in an unprotect. * * On process 0, we have to be careful not to count dirty bytes twice. @@ -197,18 +197,18 @@ * been created via insert operations since the last time * the cleaned list was propagated. * - * rename_dirty_bytes: This field only exists when the + * move_dirty_bytes: This field only exists when the * H5AC_DEBUG_DIRTY_BYTES_CREATION #define is TRUE. * * It is used to track the number of dirty bytes created - * via rename operations since the last time the cleaned + * via move operations since the last time the cleaned * list was propagated. * - * rename_dirty_bytes_updates: This field only exists when the + * move_dirty_bytes_updates: This field only exists when the * H5AC_DEBUG_DIRTY_BYTES_CREATION #define is TRUE. * * It is used to track the number of times dirty bytes have - * been created via rename operations since the last time + * been created via move operations since the last time * the cleaned list was propagated. * * d_slist_ptr: Pointer to an instance of H5SL_t used to maintain a list @@ -224,7 +224,7 @@ * * 1) an entry is inserted in the metadata cache, or * - * 2) a previously clean entry is renamed, and it does not + * 2) a previously clean entry is moved, and it does not * already appear in the dirty entry list, or * * 3) a previously clean entry is unprotected with the @@ -234,7 +234,7 @@ * Entries are added to the dirty entry list whever they cause * the dirty bytes count to be increased. They are removed * when they appear in a clean entries broadcast. Note that - * renames must be reflected in the dirty entry list. + * moves must be reflected in the dirty entry list. * * To reitterate, this field is only used on process 0 -- it * should be NULL on all other processes. @@ -303,8 +303,8 @@ typedef struct H5AC_aux_t int32_t insert_dirty_bytes; int32_t insert_dirty_bytes_updates; - int32_t rename_dirty_bytes; - int32_t rename_dirty_bytes_updates; + int32_t move_dirty_bytes; + int32_t move_dirty_bytes_updates; #endif /* H5AC_DEBUG_DIRTY_BYTES_CREATION */ diff --git a/src/H5ACprivate.h b/src/H5ACprivate.h index 1cf9dcc..2989a5a 100644 --- a/src/H5ACprivate.h +++ b/src/H5ACprivate.h @@ -116,7 +116,7 @@ typedef enum { */ #define H5AC__SERIALIZE_RESIZED_FLAG H5C__SERIALIZE_RESIZED_FLAG -#define H5AC__SERIALIZE_RENAMED_FLAG H5C__SERIALIZE_RENAMED_FLAG +#define H5AC__SERIALIZE_MOVED_FLAG H5C__SERIALIZE_MOVED_FLAG typedef H5C_deserialize_func_t H5AC_deserialize_func_t; typedef H5C_image_len_func_t H5AC_image_len_func_t; @@ -315,7 +315,7 @@ H5_DLL herr_t H5AC_unprotect(H5F_t *f, hid_t dxpl_id, size_t new_size, void *thing, unsigned flags); H5_DLL herr_t H5AC_flush(H5F_t *f, hid_t dxpl_id, unsigned flags); H5_DLL herr_t H5AC_mark_entry_dirty(void *thing); -H5_DLL herr_t H5AC_rename(H5F_t *f, const H5AC_class_t *type, +H5_DLL herr_t H5AC_move_entry(H5F_t *f, const H5AC_class_t *type, haddr_t old_addr, haddr_t new_addr); H5_DLL herr_t H5AC_dest(H5F_t *f, hid_t dxpl_id); @@ -693,7 +693,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, bt = NULL; /* Make certain future references will be caught */ /* Move the location of the old root on the disk */ - if(H5AC_rename(f, H5AC_BT, addr, old_root) < 0) + if(H5AC_move_entry(f, H5AC_BT, addr, old_root) < 0) HGOTO_ERROR(H5E_BTREE, H5E_CANTSPLIT, FAIL, "unable to move B-tree root node") /* clear the old root info at the old address (we already copied it) */ @@ -1248,7 +1248,7 @@ done: * H5C_t. * * Also reworked function to allow for the possibility that - * entries will be dirtied, resized, or renamed during flush + * entries will be dirtied, resized, or moved during flush * callbacks. As a result, we may have to make multiple * passes through the skip list before the cache is flushed. * @@ -1413,7 +1413,7 @@ H5C_flush_cache(H5F_t *f, hid_t dxpl_id, unsigned flags) * * To make things more entertaining, with the advent of the * fractal heap, the entry serialize callback can cause entries - * to be dirtied, resized, and/or renamed. + * to be dirtied, resized, and/or moved. * * To deal with this, we first make note of the initial * skip list length and size: @@ -3013,7 +3013,7 @@ done: /*------------------------------------------------------------------------- * - * Function: H5C_rename_entry + * Function: H5C_move_entry * * Purpose: Use this function to notify the cache that an entry's * file address changed. @@ -3023,52 +3023,10 @@ done: * Programmer: John Mainzer * 6/2/04 * - * Modifications: - * - * JRM -- 7/21/04 - * Updated function for the addition of the hash table. - * - * JRM -- 6/6/05 - * Updated function to force all renamed entries to be - * dirty. This is part of a series of code modifications - * moving management of the is_dirty field of - * H5C_cache_entry_t into the H5C code. - * - * JRM -- 4/3/06 - * Updated function to disallow renaming of pinned entries. - * - * JRM -- 4/27/06 - * Updated function to support renaming of pinned entries. - * - * JRM -- 8/24/06 - * Updated function to refrain from altering the index, the - * replacement policy data structures, and skip list when - * the function is called within the flush callback for the - * target entry and the target entry is being destroyed. - * - * Note that in this case H5C_flush_single_entry() will handle - * all these details for us. - * - * JRM -- 10/13/07 - * Renames of the target entry in a serialize callback are - * now handled by H5C_flush_single_entry() -- hence the above - * modification is now obsolete. - * - * JRM -- 3/31/08 - * Updated function to check if journaling is enabled. If - * it is, the function now inserts the renamed entry in the - * transaction list (if it wasn't there already). - * - * Also added sanity checks that will scream and die if - * we attempt to rename an entry during either a destroy - * or flush if journaling is enabled. Recall that any - * rename should have already been triggered when the - * entry was serialized to construct its journal entry. - * *------------------------------------------------------------------------- */ herr_t -H5C_rename_entry(H5C_t * cache_ptr, +H5C_move_entry(H5C_t * cache_ptr, const H5C_class_t * type, haddr_t old_addr, haddr_t new_addr) @@ -3082,7 +3040,7 @@ H5C_rename_entry(H5C_t * cache_ptr, #endif /* H5C_DO_SANITY_CHECKS */ herr_t ret_value = SUCCEED; /* Return value */ - FUNC_ENTER_NOAPI(H5C_rename_entry, FAIL) + FUNC_ENTER_NOAPI(H5C_move_entry, FAIL) HDassert( cache_ptr ); HDassert( cache_ptr->magic == H5C__H5C_T_MAGIC ); @@ -3112,7 +3070,7 @@ H5C_rename_entry(H5C_t * cache_ptr, if ( entry_ptr->is_protected ) { - HGOTO_ERROR(H5E_CACHE, H5E_CANTRENAME, FAIL, \ + HGOTO_ERROR(H5E_CACHE, H5E_CANTMOVE, FAIL, \ "Target entry is protected.") } @@ -3120,14 +3078,14 @@ H5C_rename_entry(H5C_t * cache_ptr, ( cache_ptr->mdj_enabled ) ) { HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, \ - "rename on destroy when journaling is enabled.\n"); + "move on destroy when journaling is enabled.\n"); } if ( ( entry_ptr->flush_in_progress ) && ( cache_ptr->mdj_enabled ) ) { HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, \ - "rename on flush when journaling is enabled.\n"); + "move on flush when journaling is enabled.\n"); } H5C__SEARCH_INDEX(cache_ptr, new_addr, test_entry_ptr, FAIL) @@ -3136,12 +3094,12 @@ H5C_rename_entry(H5C_t * cache_ptr, if ( test_entry_ptr->type == type ) { - HGOTO_ERROR(H5E_CACHE, H5E_CANTRENAME, FAIL, \ - "Target already renamed & reinserted???.") + HGOTO_ERROR(H5E_CACHE, H5E_CANTMOVE, FAIL, \ + "Target already moved & reinserted???.") } else { - HGOTO_ERROR(H5E_CACHE, H5E_CANTRENAME, FAIL, \ + HGOTO_ERROR(H5E_CACHE, H5E_CANTMOVE, FAIL, \ "New address already in use?.") } @@ -3152,7 +3110,7 @@ H5C_rename_entry(H5C_t * cache_ptr, * new address, mark it as dirty (if it isn't already) and then re-insert. * * Update the replacement policy for a hit to avoid an eviction before - * the renamed entry is touched. Update stats for a rename. + * the moved entry is touched. Update stats for a move. * * Note that we do not check the size of the cache, or evict anything. * Since this is a simple re-name, cache size should be unaffected. @@ -3220,7 +3178,7 @@ H5C_rename_entry(H5C_t * cache_ptr, /* make note of whether the target entry had a journal write * in progress -- will need this fact to update the replacement - * policy structures for the rename. + * policy structures for the move. */ had_jwip = ( entry_ptr->last_trans != 0 ); @@ -3229,12 +3187,12 @@ H5C_rename_entry(H5C_t * cache_ptr, */ H5C__UPDATE_TL_FOR_ENTRY_DIRTY(cache_ptr, entry_ptr, FAIL); - H5C__UPDATE_RP_FOR_RENAME(cache_ptr, entry_ptr, was_dirty, \ + H5C__UPDATE_RP_FOR_MOVE(cache_ptr, entry_ptr, was_dirty, \ had_jwip, FAIL); } } - H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, entry_ptr) + H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, entry_ptr) done: @@ -3248,7 +3206,7 @@ done: FUNC_LEAVE_NOAPI(ret_value) -} /* H5C_rename_entry() */ +} /* H5C_move_entry() */ /*------------------------------------------------------------------------- @@ -4442,9 +4400,9 @@ H5C_stats(H5C_t * cache_ptr, int64_t total_clears = 0; int64_t total_flushes = 0; int64_t total_evictions = 0; - int64_t total_renames = 0; - int64_t total_entry_flush_renames = 0; - int64_t total_cache_flush_renames = 0; + int64_t total_moves = 0; + int64_t total_entry_flush_moves = 0; + int64_t total_cache_flush_moves = 0; int64_t total_size_increases = 0; int64_t total_size_decreases = 0; int64_t total_entry_flush_size_changes = 0; @@ -4493,11 +4451,11 @@ H5C_stats(H5C_t * cache_ptr, total_clears += cache_ptr->clears[i]; total_flushes += cache_ptr->flushes[i]; total_evictions += cache_ptr->evictions[i]; - total_renames += cache_ptr->renames[i]; - total_entry_flush_renames - += cache_ptr->entry_flush_renames[i]; - total_cache_flush_renames - += cache_ptr->cache_flush_renames[i]; + total_moves += cache_ptr->moves[i]; + total_entry_flush_moves + += cache_ptr->entry_flush_moves[i]; + total_cache_flush_moves + += cache_ptr->cache_flush_moves[i]; total_size_increases += cache_ptr->size_increases[i]; total_size_decreases += cache_ptr->size_decreases[i]; total_entry_flush_size_changes @@ -4645,17 +4603,17 @@ H5C_stats(H5C_t * cache_ptr, (long)total_evictions); HDfprintf(stdout, - "%s Total insertions(pinned) / renames = %ld(%ld) / %ld\n", + "%s Total insertions(pinned) / moves = %ld(%ld) / %ld\n", cache_ptr->prefix, (long)total_insertions, (long)total_pinned_insertions, - (long)total_renames); + (long)total_moves); HDfprintf(stdout, - "%s Total entry / cache flush renames = %ld / %ld\n", + "%s Total entry / cache flush moves = %ld / %ld\n", cache_ptr->prefix, - (long)total_entry_flush_renames, - (long)total_cache_flush_renames); + (long)total_entry_flush_moves, + (long)total_cache_flush_moves); HDfprintf(stdout, "%s Total entry size incrs / decrs = %ld / %ld\n", cache_ptr->prefix, @@ -4739,17 +4697,17 @@ H5C_stats(H5C_t * cache_ptr, (long)(cache_ptr->evictions[i])); HDfprintf(stdout, - "%s insertions(pinned) / renames = %ld(%ld) / %ld\n", + "%s insertions(pinned) / moves = %ld(%ld) / %ld\n", cache_ptr->prefix, (long)(cache_ptr->insertions[i]), (long)(cache_ptr->pinned_insertions[i]), - (long)(cache_ptr->renames[i])); + (long)(cache_ptr->moves[i])); HDfprintf(stdout, - "%s entry / cache flush renames = %ld / %ld\n", + "%s entry / cache flush moves = %ld / %ld\n", cache_ptr->prefix, - (long)(cache_ptr->entry_flush_renames[i]), - (long)(cache_ptr->cache_flush_renames[i])); + (long)(cache_ptr->entry_flush_moves[i]), + (long)(cache_ptr->cache_flush_moves[i])); HDfprintf(stdout, "%s size increases / decreases = %ld / %ld\n", @@ -4881,9 +4839,9 @@ H5C_stats__reset(H5C_t UNUSED * cache_ptr) cache_ptr->clears[i] = 0; cache_ptr->flushes[i] = 0; cache_ptr->evictions[i] = 0; - cache_ptr->renames[i] = 0; - cache_ptr->entry_flush_renames[i] = 0; - cache_ptr->cache_flush_renames[i] = 0; + cache_ptr->moves[i] = 0; + cache_ptr->entry_flush_moves[i] = 0; + cache_ptr->cache_flush_moves[i] = 0; cache_ptr->pins[i] = 0; cache_ptr->unpins[i] = 0; cache_ptr->dirty_pins[i] = 0; @@ -7089,7 +7047,7 @@ done: * Modifications: * * To support the fractal heap, the cache must now deal with - * entries being dirtied, resized, and/or renamed inside + * entries being dirtied, resized, and/or moved inside * flush callbacks. Updated function to support this. * * -- JRM 8/27/06 @@ -7174,14 +7132,14 @@ H5C_flush_invalidate_cache(const H5F_t * f, * unpin themselves, or until the number of pinned entries stops * declining. In this later case, we scream and die. * - * Since the fractal heap can dirty, resize, and/or rename entries + * Since the fractal heap can dirty, resize, and/or move entries * in is flush callback, it is possible that the cache will still * contain dirty entries at this point. If so, we must make up to * H5C__MAX_PASSES_ON_FLUSH more passes through the skip list * to allow it to empty. If is is not empty at this point, we again * scream and die. * - * Further, since clean entries can be dirtied, resized, and/or renamed + * Further, since clean entries can be dirtied, resized, and/or moved * as the result of a flush call back (either the entries own, or that * for some other cache entry), we can no longer promise to flush * the cache entries in increasing address order. @@ -7248,7 +7206,7 @@ H5C_flush_invalidate_cache(const H5F_t * f, initial_slist_size = cache_ptr->slist_size; /* There is also the possibility that entries will be - * dirtied, resized, and/or renamed as the result of + * dirtied, resized, and/or moved as the result of * calls to the flush callbacks. We use the slist_len_increase * and slist_size_increase increase fields in struct H5C_t * to track these changes for purpose of sanity checking. @@ -7678,7 +7636,7 @@ done: * * Also added flush_flags parameter to the call to * type_ptr->flush() so that the flush routine can report - * whether the entry has been resized or renamed. Added + * whether the entry has been resized or moved. Added * code using the flush_flags variable to detect the case * in which the target entry is resized during flush, and * update the caches data structures accordingly. @@ -7874,8 +7832,8 @@ H5C_flush_single_entry(const H5F_t * f, * once rather than remove the entries one by one, so we only delete * from the slist only if requested. * - * Note that it is possible that the entry will be renamed during - * its call to flush. This will upset H5C_rename_entry() if we + * Note that it is possible that the entry will be moved during + * its call to flush. This will upset H5C_move_entry() if we * don't tell it that it doesn't have to worry about updating the * index and SLIST. Use the destroy_in_progress field for this * purpose. @@ -8115,7 +8073,7 @@ H5C_flush_single_entry(const H5F_t * f, { /* Check for unexpected flags from serialize callback */ - if(serialize_flags & ~(H5C__SERIALIZE_RESIZED_FLAG | H5C__SERIALIZE_RENAMED_FLAG)) + if(serialize_flags & ~(H5C__SERIALIZE_RESIZED_FLAG | H5C__SERIALIZE_MOVED_FLAG)) HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unknown serialize flag(s)") if ( destroy ) @@ -8123,12 +8081,12 @@ H5C_flush_single_entry(const H5F_t * f, if ( cache_ptr->mdj_enabled ) { HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, \ - "rename/resize on destroy when journaling enabled.") + "move/resize on destroy when journaling enabled.") } /* We have already removed the entry from the * cache's data structures, so no need to update - * them for the re-size and/or rename. All we need + * them for the re-size and/or move. All we need * to do is update the cache entry so we will have * the correct values when we actually write the * image of the entry to disk. @@ -8143,9 +8101,9 @@ H5C_flush_single_entry(const H5F_t * f, entry_ptr, \ new_len) - /* Check for resize+rename */ - if(serialize_flags & H5C__SERIALIZE_RENAMED_FLAG) { - H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, \ + /* Check for resize+move */ + if(serialize_flags & H5C__SERIALIZE_MOVED_FLAG) { + H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, \ entry_ptr) entry_ptr->addr = new_addr; } /* end if */ @@ -8154,9 +8112,9 @@ H5C_flush_single_entry(const H5F_t * f, entry_ptr->image_ptr = new_image_ptr; } /* end if */ else { - HDassert(serialize_flags & H5C__SERIALIZE_RENAMED_FLAG); + HDassert(serialize_flags & H5C__SERIALIZE_MOVED_FLAG); - H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, \ + H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, \ entry_ptr) entry_ptr->addr = new_addr; } /* end else */ @@ -8166,14 +8124,14 @@ H5C_flush_single_entry(const H5F_t * f, if ( cache_ptr->mdj_enabled ) { HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, \ - "rename/resize on flush when journaling enabled."); + "move/resize on flush when journaling enabled."); } /* The entry is not being destroyed, and thus has not * been removed from the cache's data structures. * * Thus, in addition to updating the entry for the - * re-size and/or rename, we must also update the + * re-size and/or move, we must also update the * cache data structures. */ @@ -8190,12 +8148,12 @@ H5C_flush_single_entry(const H5F_t * f, */ entry_ptr->is_dirty = FALSE; - /* Check for resize+rename */ - if(serialize_flags & H5C__SERIALIZE_RENAMED_FLAG) { - H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, \ + /* Check for resize+move */ + if(serialize_flags & H5C__SERIALIZE_MOVED_FLAG) { + H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, \ entry_ptr) - /* update the hash table for the rename */ + /* update the hash table for the move */ H5C__DELETE_FROM_INDEX(cache_ptr, entry_ptr) entry_ptr->addr = new_addr; H5C__INSERT_IN_INDEX(cache_ptr, entry_ptr, \ @@ -8230,7 +8188,7 @@ H5C_flush_single_entry(const H5F_t * f, entry_ptr->image_ptr = new_image_ptr; } /* end if */ else { - HDassert(serialize_flags & H5C__SERIALIZE_RENAMED_FLAG); + HDassert(serialize_flags & H5C__SERIALIZE_MOVED_FLAG); /* The replacement policy code thinks the * entry is already clean, so modify is_dirty @@ -8238,10 +8196,10 @@ H5C_flush_single_entry(const H5F_t * f, */ entry_ptr->is_dirty = FALSE; - H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, \ + H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, \ entry_ptr) - /* first update the hash table for the rename */ + /* first update the hash table for the move */ H5C__DELETE_FROM_INDEX(cache_ptr, entry_ptr) entry_ptr->addr = new_addr; H5C__INSERT_IN_INDEX(cache_ptr, entry_ptr, \ @@ -8271,7 +8229,7 @@ H5C_flush_single_entry(const H5F_t * f, */ if ( serialize_flags != 0 ) { - /* In the parallel case, resizes and renames in + /* In the parallel case, resizes and moves in * the serialize operation can cause problems. * If they occur, scream and die. * @@ -8285,9 +8243,9 @@ H5C_flush_single_entry(const H5F_t * f, * change this test accordingly. * * NB: While this test detects entryies that attempt - * to resize or rename themselves during a flush + * to resize or move themselves during a flush * in the parallel case, it will not detect an - * entry that dirties, resizes, and/or renames + * entry that dirties, resizes, and/or moves * other entries during its flush. * * From what Quincey tells me, this test is @@ -8300,7 +8258,7 @@ H5C_flush_single_entry(const H5F_t * f, if ( cache_ptr->aux_ptr != NULL ) { HGOTO_ERROR(H5E_CACHE, H5E_SYSTEM, FAIL, \ - "resize/rename in serialize occured in parallel case.") + "resize/move in serialize occured in parallel case.") } } diff --git a/src/H5Cjournal.c b/src/H5Cjournal.c index 239339a..c3157d3 100644 --- a/src/H5Cjournal.c +++ b/src/H5Cjournal.c @@ -1017,7 +1017,7 @@ H5C_journal_transaction(H5F_t * f, resized = (hbool_t)((serialize_flags & H5C__SERIALIZE_RESIZED_FLAG) != 0); renamed = - (hbool_t)((serialize_flags & H5C__SERIALIZE_RENAMED_FLAG) != 0); + (hbool_t)((serialize_flags & H5C__SERIALIZE_MOVED_FLAG) != 0); if ( ( renamed ) && ( ! resized ) ) { @@ -1058,13 +1058,13 @@ H5C_journal_transaction(H5F_t * f, if ( renamed ) { - result = H5C_rename_entry(cache_ptr, entry_ptr->type, + result = H5C_move_entry(cache_ptr, entry_ptr->type, entry_ptr->addr, new_addr); if ( result < 0 ) { HGOTO_ERROR(H5E_CACHE, H5E_CANTJOURNAL, FAIL, \ - "H5C_rename_entr() failed.") + "H5C_move_entry() failed.") } } } diff --git a/src/H5Cpkg.h b/src/H5Cpkg.h index ee0b108..a000a69 100644 --- a/src/H5Cpkg.h +++ b/src/H5Cpkg.h @@ -442,7 +442,7 @@ struct H5C_jbrb_t /* With the introduction of the fractal heap, it is now possible for - * entries to be dirtied, resized, and/or renamed in the flush callbacks. + * entries to be dirtied, resized, and/or moved in the flush callbacks. * As a result, on flushes, it may be necessary to make multiple passes * through the slist before it is empty. The H5C__MAX_PASSES_ON_FLUSH * #define is used to set an upper limit on the number of passes. @@ -683,7 +683,7 @@ typedef struct H5C_mdjsc_record_t * some optimizations when I get to it. * * With the addition of the fractal heap, the cache must now deal with - * the case in which entries may be dirtied, renamed, or have their sizes + * the case in which entries may be dirtied, moved, or have their sizes * changed during a flush. To allow sanity checks in this situation, the * following two fields have been added. They are only compiled in when * H5C_DO_SANITY_CHECKS is TRUE. @@ -1217,19 +1217,19 @@ typedef struct H5C_mdjsc_record_t * equal to the array index has been evicted from the cache in * the current epoch. * - * renames: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. The cells + * moves: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. The cells * are used to record the number of times an entry with type - * id equal to the array index has been renamed in the current + * id equal to the array index has been moved in the current * epoch. * - * entry_flush_renames: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. + * entry_flush_moves: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. * The cells are used to record the number of times an entry - * with type id equal to the array index has been renamed + * with type id equal to the array index has been moved * during its flush callback in the current epoch. * - * cache_flush_renames: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. + * cache_flush_moves: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. * The cells are used to record the number of times an entry - * with type id equal to the array index has been renamed + * with type id equal to the array index has been moved * during a cache flush in the current epoch. * * pins: Array of int64 of length H5C__MAX_NUM_TYPE_IDS + 1. The cells @@ -1510,9 +1510,9 @@ struct H5C_t int64_t clears[H5C__MAX_NUM_TYPE_IDS + 1]; int64_t flushes[H5C__MAX_NUM_TYPE_IDS + 1]; int64_t evictions[H5C__MAX_NUM_TYPE_IDS + 1]; - int64_t renames[H5C__MAX_NUM_TYPE_IDS + 1]; - int64_t entry_flush_renames[H5C__MAX_NUM_TYPE_IDS + 1]; - int64_t cache_flush_renames[H5C__MAX_NUM_TYPE_IDS + 1]; + int64_t moves[H5C__MAX_NUM_TYPE_IDS + 1]; + int64_t entry_flush_moves[H5C__MAX_NUM_TYPE_IDS + 1]; + int64_t cache_flush_moves[H5C__MAX_NUM_TYPE_IDS + 1]; int64_t pins[H5C__MAX_NUM_TYPE_IDS + 1]; int64_t unpins[H5C__MAX_NUM_TYPE_IDS + 1]; int64_t dirty_pins[H5C__MAX_NUM_TYPE_IDS + 1]; @@ -2177,14 +2177,14 @@ if ( ( (entry_ptr) == NULL ) || \ if ( (cache_ptr)->pel_size > (cache_ptr)->max_pel_size ) \ (cache_ptr)->max_pel_size = (cache_ptr)->pel_size; -#define H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, entry_ptr) \ +#define H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, entry_ptr) \ if ( cache_ptr->flush_in_progress ) { \ - ((cache_ptr)->cache_flush_renames[(entry_ptr)->type->id])++; \ + ((cache_ptr)->cache_flush_moves[(entry_ptr)->type->id])++; \ } \ if ( entry_ptr->flush_in_progress ) { \ - ((cache_ptr)->entry_flush_renames[(entry_ptr)->type->id])++; \ + ((cache_ptr)->entry_flush_moves[(entry_ptr)->type->id])++; \ } \ - (((cache_ptr)->renames)[(entry_ptr)->type->id])++; + (((cache_ptr)->moves)[(entry_ptr)->type->id])++; #define H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE(cache_ptr, entry_ptr, new_size)\ if ( cache_ptr->flush_in_progress ) { \ @@ -2417,7 +2417,7 @@ if ( ( (entry_ptr) == NULL ) || \ #define H5C__RESET_CACHE_ENTRY_STATS(entry_ptr) #define H5C__UPDATE_STATS_FOR_DIRTY_PIN(cache_ptr, entry_ptr) #define H5C__UPDATE_STATS_FOR_UNPROTECT(cache_ptr) -#define H5C__UPDATE_STATS_FOR_RENAME(cache_ptr, entry_ptr) +#define H5C__UPDATE_STATS_FOR_MOVE(cache_ptr, entry_ptr) #define H5C__UPDATE_STATS_FOR_ENTRY_SIZE_CHANGE(cache_ptr, entry_ptr, new_size) #define H5C__UPDATE_STATS_FOR_HT_INSERTION(cache_ptr) #define H5C__UPDATE_STATS_FOR_HT_DELETION(cache_ptr) @@ -2735,7 +2735,7 @@ if ( ( (cache_ptr) == NULL ) || \ * checks in the flush routines. * * All this is needed as the fractal heap needs to be - * able to dirty, resize and/or rename entries during the + * able to dirty, resize and/or move entries during the * flush. * *------------------------------------------------------------------------- @@ -2874,7 +2874,7 @@ if ( ( (cache_ptr) == NULL ) || \ * that are used in sanity checks in the flush routines. * * All this is needed as the fractal heap needs to be - * able to dirty, resize and/or rename entries during the + * able to dirty, resize and/or move entries during the * flush. * *------------------------------------------------------------------------- @@ -3927,10 +3927,10 @@ if ( ( (cache_ptr) == NULL ) || \ /*------------------------------------------------------------------------- * - * Macro: H5C__UPDATE_RP_FOR_RENAME + * Macro: H5C__UPDATE_RP_FOR_MOVE * * Purpose: Update the replacement policy data structures for a - * rename of the specified cache entry. + * move of the specified cache entry. * * At present, we only support the modified LRU policy, so * this function deals with that case unconditionally. If @@ -3941,55 +3941,12 @@ if ( ( (cache_ptr) == NULL ) || \ * * Programmer: John Mainzer, 5/17/04 * - * Modifications: - * - * JRM - 7/27/04 - * Converted the function H5C_update_rp_for_rename() to the - * macro H5C__UPDATE_RP_FOR_RENAME in an effort to squeeze - * a bit more performance out of the cache. - * - * At least for the first cut, I am leaving the comments and - * white space in the macro. If they cause dificulties with - * pre-processor, I'll have to remove them. - * - * JRM - 7/28/04 - * Split macro into two version, one supporting the clean and - * dirty LRU lists, and the other not. Yet another attempt - * at optimization. - * - * JRM - 6/23/05 - * Added the was_dirty parameter. It is possible that - * the entry was clean when it was renamed -- if so it - * it is in the clean LRU regardless of the current - * value of the is_dirty field. - * - * At present, all renamed entries are forced to be - * dirty. This macro is a bit more general that that, - * to allow it to function correctly should that policy - * be relaxed in the future. - * - * JRM - 3/17/06 - * Modified macro to do nothing if the entry is pinned. - * In this case, the entry is on the pinned entry list, not - * in the replacement policy data structures, so there is - * nothing to be done. - * - * JRM - 3/28/07 - * Added sanity checks using the new is_read_only and - * ro_ref_count fields of struct H5C_cache_entry_t. - * - * JRM - 3/29/08 - * Reworked macro to handle the case in which the renamed - * entry has a journal write pending -- this required the - * addition of the had_jwip parameter. Also added some - * related sanity checks. - * *------------------------------------------------------------------------- */ #if H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS -#define H5C__UPDATE_RP_FOR_RENAME(cache_ptr, entry_ptr, was_dirty, \ +#define H5C__UPDATE_RP_FOR_MOVE(cache_ptr, entry_ptr, was_dirty, \ had_jwip, fail_val) \ { \ HDassert( (cache_ptr) ); \ @@ -4104,11 +4061,11 @@ if ( ( (cache_ptr) == NULL ) || \ /* End modified LRU specific code. */ \ } \ } \ -} /* H5C__UPDATE_RP_FOR_RENAME */ +} /* H5C__UPDATE_RP_FOR_MOVE */ #else /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */ -#define H5C__UPDATE_RP_FOR_RENAME(cache_ptr, entry_ptr, was_dirty, \ +#define H5C__UPDATE_RP_FOR_MOVE(cache_ptr, entry_ptr, was_dirty, \ had_jwip, fail_val) \ { \ HDassert( (cache_ptr) ); \ @@ -4179,7 +4136,7 @@ if ( ( (cache_ptr) == NULL ) || \ /* End modified LRU specific code. */ \ } \ } \ -} /* H5C__UPDATE_RP_FOR_RENAME */ +} /* H5C__UPDATE_RP_FOR_MOVE */ #endif /* H5C_MAINTAIN_CLEAN_AND_DIRTY_LRU_LISTS */ diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h index c323e04..47cc0c6 100644 --- a/src/H5Cprivate.h +++ b/src/H5Cprivate.h @@ -214,7 +214,7 @@ typedef struct H5C_t H5C_t; * However, that need not be the case as fractal heap blocks can * change size (and therefor possible location as well) on * serialization if compression is enabled. In the old H5C code, - * this happened on a flush, and occasioned a rename in the midst + * this happened on a flush, and occasioned a move in the midst * of the flush. To avoid this in H5C, the serialize callback * will return the new base address, length, and image pointer to * the caller when necessary. The caller must then update the @@ -274,28 +274,28 @@ typedef struct H5C_t H5C_t; * addr and len given above. * * flags_ptr: Pointer to an unsigned integer used to return flags - * indicating whether the resize function resized or renamed - * the entry. If the entry was neither resized or renamed, + * indicating whether the resize function resized or moved + * the entry. If the entry was neither resized or moved, * the serialize function must set *flags_ptr to zero. - * H5C__SERIALIZE_RESIZED_FLAG and H5C__SERIALIZE_RENAMED_FLAG - * must be set to indicate a resize and a rename respectively. + * H5C__SERIALIZE_RESIZED_FLAG and H5C__SERIALIZE_MOVED_FLAG + * must be set to indicate a resize and a move respectively. * * If the H5C__SERIALIZE_RESIZED_FLAG is set, the new length * and image pointer must be stored in *new_len_ptr and * *new_image_ptr_ptr respectively. * - * If the H5C__SERIALIZE_RENAMED_FLAG flag is also set, the + * If the H5C__SERIALIZE_MOVED_FLAG flag is also set, the * new image base address must be stored in *new_addr_ptr. - * Observe that the H5C__SERIALIZE_RENAMED_FLAG must not + * Observe that the H5C__SERIALIZE_MOVED_FLAG must not * appear without the H5C__SERIALIZE_RESIZED_FLAG. * * Except as noted above, the locations pointed to by the * remaining parameters are undefined, and should be ignored * by the caller. * - * new_addr_ptr: Pointer to haddr_t. If the entry is renamed by + * new_addr_ptr: Pointer to haddr_t. If the entry is moved by * the serialize function, the new on disk base address must - * be stored in *new_addr_ptr. If the entry is not renamed + * be stored in *new_addr_ptr. If the entry is not moved * by the serialize function, *new_addr_ptr is undefined. * * new_len_ptr: Pointer to size_t. If the entry is resized by the @@ -328,7 +328,7 @@ typedef struct H5C_t H5C_t; * * If in addition, the base address of the on disk image must * be changed, the serialize function must also set *new_addr_ptr - * to the new base address, and set the H5C__SERIALIZE_RENAMED_FLAG + * to the new base address, and set the H5C__SERIALIZE_MOVED_FLAG * in *flags_ptr. * * If it is successful, the function must return SUCCEED. @@ -380,7 +380,7 @@ typedef herr_t (*H5C_image_len_func_t)(const void *thing, size_t *image_len_ptr); #define H5C__SERIALIZE_RESIZED_FLAG 0x1 -#define H5C__SERIALIZE_RENAMED_FLAG 0x2 +#define H5C__SERIALIZE_MOVED_FLAG 0x2 typedef herr_t (*H5C_serialize_func_t)(const H5F_t *f, hid_t dxpl_id, @@ -1401,7 +1401,7 @@ H5_DLL herr_t H5C_mark_entries_as_clean(H5F_t * f, H5_DLL herr_t H5C_mark_entry_dirty(void *thing); -H5_DLL herr_t H5C_rename_entry(H5C_t * cache_ptr, +H5_DLL herr_t H5C_move_entry(H5C_t * cache_ptr, const H5C_class_t * type, haddr_t old_addr, haddr_t new_addr); diff --git a/src/H5Edefin.h b/src/H5Edefin.h index f63eee8..8bc4008 100644 --- a/src/H5Edefin.h +++ b/src/H5Edefin.h @@ -109,6 +109,7 @@ hid_t H5E_CANTDELETE_g = FAIL; /* Can't delete message */ hid_t H5E_BADITER_g = FAIL; /* Iteration failed */ hid_t H5E_CANTPACK_g = FAIL; /* Can't pack messages */ hid_t H5E_CANTRESET_g = FAIL; /* Can't reset object */ +hid_t H5E_CANTRENAME_g = FAIL; /* Unable to rename object */ /* System level errors */ hid_t H5E_SYSERRSTR_g = FAIL; /* System error message */ @@ -157,7 +158,6 @@ hid_t H5E_PROTECT_g = FAIL; /* Protected metadata error */ hid_t H5E_NOTCACHED_g = FAIL; /* Metadata not currently cached */ hid_t H5E_SYSTEM_g = FAIL; /* Internal error detected */ hid_t H5E_CANTINS_g = FAIL; /* Unable to insert metadata into cache */ -hid_t H5E_CANTRENAME_g = FAIL; /* Unable to rename metadata */ hid_t H5E_CANTPROTECT_g = FAIL; /* Unable to protect metadata */ hid_t H5E_CANTUNPROTECT_g = FAIL; /* Unable to unprotect metadata */ hid_t H5E_CANTPIN_g = FAIL; /* Unable to pin cache entry */ @@ -172,7 +172,7 @@ hid_t H5E_CANTJOURNAL_g = FAIL; /* Unable to write to journal file */ hid_t H5E_TRAVERSE_g = FAIL; /* Link traversal failure */ hid_t H5E_NLINKS_g = FAIL; /* Too many soft links in path */ hid_t H5E_NOTREGISTERED_g = FAIL; /* Link class not registered */ -hid_t H5E_CANTMOVE_g = FAIL; /* Move callback returned error */ +hid_t H5E_CANTMOVE_g = FAIL; /* Can't move object */ hid_t H5E_CANTSORT_g = FAIL; /* Can't sort objects */ /* Parallel MPI errors */ diff --git a/src/H5Einit.h b/src/H5Einit.h index 4d5704f..2db5365 100644 --- a/src/H5Einit.h +++ b/src/H5Einit.h @@ -403,6 +403,11 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't reset object"))==NULL) HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed") if((H5E_CANTRESET_g = H5I_register(H5I_ERROR_MSG, msg))<0) HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message") +assert(H5E_CANTRENAME_g==(-1)); +if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to rename object"))==NULL) + HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed") +if((H5E_CANTRENAME_g = H5I_register(H5I_ERROR_MSG, msg))<0) + HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message") /* System level errors */ assert(H5E_SYSERRSTR_g==(-1)); @@ -587,11 +592,6 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to insert metadata into cache") HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed") if((H5E_CANTINS_g = H5I_register(H5I_ERROR_MSG, msg))<0) HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message") -assert(H5E_CANTRENAME_g==(-1)); -if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to rename metadata"))==NULL) - HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed") -if((H5E_CANTRENAME_g = H5I_register(H5I_ERROR_MSG, msg))<0) - HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message") assert(H5E_CANTPROTECT_g==(-1)); if((msg = H5E_create_msg(cls, H5E_MINOR, "Unable to protect metadata"))==NULL) HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed") @@ -655,7 +655,7 @@ if((msg = H5E_create_msg(cls, H5E_MINOR, "Link class not registered"))==NULL) if((H5E_NOTREGISTERED_g = H5I_register(H5I_ERROR_MSG, msg))<0) HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message") assert(H5E_CANTMOVE_g==(-1)); -if((msg = H5E_create_msg(cls, H5E_MINOR, "Move callback returned error"))==NULL) +if((msg = H5E_create_msg(cls, H5E_MINOR, "Can't move object"))==NULL) HGOTO_ERROR(H5E_ERROR, H5E_CANTINIT, FAIL, "error message initialization failed") if((H5E_CANTMOVE_g = H5I_register(H5I_ERROR_MSG, msg))<0) HGOTO_ERROR(H5E_ERROR, H5E_CANTREGISTER, FAIL, "can't register error message") diff --git a/src/H5Epubgen.h b/src/H5Epubgen.h index 51a5d16..4c25cdf 100644 --- a/src/H5Epubgen.h +++ b/src/H5Epubgen.h @@ -178,6 +178,7 @@ H5_DLLVAR hid_t H5E_CANTSHRINK_g; /* Can't shrink container */ #define H5E_BADITER (H5OPEN H5E_BADITER_g) #define H5E_CANTPACK (H5OPEN H5E_CANTPACK_g) #define H5E_CANTRESET (H5OPEN H5E_CANTRESET_g) +#define H5E_CANTRENAME (H5OPEN H5E_CANTRENAME_g) H5_DLLVAR hid_t H5E_LINKCOUNT_g; /* Bad object header link count */ H5_DLLVAR hid_t H5E_VERSION_g; /* Wrong version number */ H5_DLLVAR hid_t H5E_ALIGNMENT_g; /* Alignment error */ @@ -186,6 +187,7 @@ H5_DLLVAR hid_t H5E_CANTDELETE_g; /* Can't delete message */ H5_DLLVAR hid_t H5E_BADITER_g; /* Iteration failed */ H5_DLLVAR hid_t H5E_CANTPACK_g; /* Can't pack messages */ H5_DLLVAR hid_t H5E_CANTRESET_g; /* Can't reset object */ +H5_DLLVAR hid_t H5E_CANTRENAME_g; /* Unable to rename object */ /* System level errors */ #define H5E_SYSERRSTR (H5OPEN H5E_SYSERRSTR_g) @@ -261,7 +263,6 @@ H5_DLLVAR hid_t H5E_NOIDS_g; /* Out of IDs for group */ #define H5E_NOTCACHED (H5OPEN H5E_NOTCACHED_g) #define H5E_SYSTEM (H5OPEN H5E_SYSTEM_g) #define H5E_CANTINS (H5OPEN H5E_CANTINS_g) -#define H5E_CANTRENAME (H5OPEN H5E_CANTRENAME_g) #define H5E_CANTPROTECT (H5OPEN H5E_CANTPROTECT_g) #define H5E_CANTUNPROTECT (H5OPEN H5E_CANTUNPROTECT_g) #define H5E_CANTPIN (H5OPEN H5E_CANTPIN_g) @@ -278,7 +279,6 @@ H5_DLLVAR hid_t H5E_PROTECT_g; /* Protected metadata error */ H5_DLLVAR hid_t H5E_NOTCACHED_g; /* Metadata not currently cached */ H5_DLLVAR hid_t H5E_SYSTEM_g; /* Internal error detected */ H5_DLLVAR hid_t H5E_CANTINS_g; /* Unable to insert metadata into cache */ -H5_DLLVAR hid_t H5E_CANTRENAME_g; /* Unable to rename metadata */ H5_DLLVAR hid_t H5E_CANTPROTECT_g; /* Unable to protect metadata */ H5_DLLVAR hid_t H5E_CANTUNPROTECT_g; /* Unable to unprotect metadata */ H5_DLLVAR hid_t H5E_CANTPIN_g; /* Unable to pin cache entry */ @@ -298,7 +298,7 @@ H5_DLLVAR hid_t H5E_CANTJOURNAL_g; /* Unable to write to journal file */ H5_DLLVAR hid_t H5E_TRAVERSE_g; /* Link traversal failure */ H5_DLLVAR hid_t H5E_NLINKS_g; /* Too many soft links in path */ H5_DLLVAR hid_t H5E_NOTREGISTERED_g; /* Link class not registered */ -H5_DLLVAR hid_t H5E_CANTMOVE_g; /* Move callback returned error */ +H5_DLLVAR hid_t H5E_CANTMOVE_g; /* Can't move object */ H5_DLLVAR hid_t H5E_CANTSORT_g; /* Can't sort objects */ /* Parallel MPI errors */ diff --git a/src/H5Eterm.h b/src/H5Eterm.h index bc4e8a7..6874758 100644 --- a/src/H5Eterm.h +++ b/src/H5Eterm.h @@ -110,7 +110,8 @@ H5E_BADMESG_g= H5E_CANTDELETE_g= H5E_BADITER_g= H5E_CANTPACK_g= -H5E_CANTRESET_g= +H5E_CANTRESET_g= +H5E_CANTRENAME_g= /* System level errors */ H5E_SYSERRSTR_g= @@ -159,7 +160,6 @@ H5E_PROTECT_g= H5E_NOTCACHED_g= H5E_SYSTEM_g= H5E_CANTINS_g= -H5E_CANTRENAME_g= H5E_CANTPROTECT_g= H5E_CANTUNPROTECT_g= H5E_CANTPIN_g= diff --git a/src/H5FSsection.c b/src/H5FSsection.c index e53fa0c..618fb0e 100644 --- a/src/H5FSsection.c +++ b/src/H5FSsection.c @@ -1377,8 +1377,8 @@ HDfprintf(stderr, "%s: old_addr = %a, fspace->sect_addr = %a\n", FUNC, old_addr, /* Move object in cache, if it actually was relocated */ if(H5F_addr_ne(fspace->sect_addr, old_addr)) { - if(H5AC_rename(f, H5AC_FSPACE_SINFO, old_addr, fspace->sect_addr) < 0) - HGOTO_ERROR(H5E_FSPACE, H5E_CANTRENAME, FAIL, "unable to move free space section info") + if(H5AC_move_entry(f, H5AC_FSPACE_SINFO, old_addr, fspace->sect_addr) < 0) + HGOTO_ERROR(H5E_FSPACE, H5E_CANTMOVE, FAIL, "unable to move free space section info") } /* end if */ else { /* Mark free space section as dirty */ @@ -1442,8 +1442,8 @@ HDfprintf(stderr, "%s: Allocating space for smaller serialized sections, new_siz /* Move object in cache, if it actually was relocated */ if(H5F_addr_ne(fspace->sect_addr, old_addr)) { - if(H5AC_rename(f, H5AC_FSPACE_SINFO, old_addr, fspace->sect_addr) < 0) - HGOTO_ERROR(H5E_FSPACE, H5E_CANTRENAME, FAIL, "unable to move free space section info") + if(H5AC_move_entry(f, H5AC_FSPACE_SINFO, old_addr, fspace->sect_addr) < 0) + HGOTO_ERROR(H5E_FSPACE, H5E_CANTMOVE, FAIL, "unable to move free space section info") } /* end if */ else { /* Mark free space section as dirty */ diff --git a/src/H5HFcache.c b/src/H5HFcache.c index ece70bb..e20ee87 100644 --- a/src/H5HFcache.c +++ b/src/H5HFcache.c @@ -1266,7 +1266,7 @@ H5HF_cache_dblock_serialize(const H5F_t *f, hid_t dxpl_id, haddr_t addr, /* Let the metadata cache know, if the block moved */ if(!H5F_addr_eq(hdr->man_dtable.table_addr, addr)) { - *flags |= H5AC__SERIALIZE_RENAMED_FLAG; + *flags |= H5AC__SERIALIZE_MOVED_FLAG; *new_addr = addr; } /* end if */ @@ -1319,7 +1319,7 @@ H5HF_cache_dblock_serialize(const H5F_t *f, hid_t dxpl_id, haddr_t addr, /* Let the metadata cache know, if the block moved */ if(!H5F_addr_eq(par_iblock->ents[par_entry].addr, addr)) { - *flags |= H5AC__SERIALIZE_RENAMED_FLAG; + *flags |= H5AC__SERIALIZE_MOVED_FLAG; *new_addr = addr; } /* end if */ diff --git a/src/H5HFiblock.c b/src/H5HFiblock.c index 9013c0c..c8d02af 100644 --- a/src/H5HFiblock.c +++ b/src/H5HFiblock.c @@ -565,8 +565,8 @@ H5HF_man_iblock_root_double(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t min_dblock_si /* Move object in cache, if it actually was relocated */ if(H5F_addr_ne(iblock->addr, new_addr)) { - if(H5AC_rename(hdr->f, H5AC_FHEAP_IBLOCK, iblock->addr, new_addr) < 0) - HGOTO_ERROR(H5E_HEAP, H5E_CANTRENAME, FAIL, "unable to move fractal heap root indirect block") + if(H5AC_move_entry(hdr->f, H5AC_FHEAP_IBLOCK, iblock->addr, new_addr) < 0) + HGOTO_ERROR(H5E_HEAP, H5E_CANTMOVE, FAIL, "unable to move fractal heap root indirect block") iblock->addr = new_addr; } /* end if */ @@ -724,7 +724,7 @@ H5HF_man_iblock_root_halve(H5HF_indirect_t *iblock, hid_t dxpl_id) /* Move object in cache, if it actually was relocated */ if(H5F_addr_ne(iblock->addr, new_addr)) { - if(H5AC_rename(hdr->f, H5AC_FHEAP_IBLOCK, iblock->addr, new_addr) < 0) + if(H5AC_move_entry(hdr->f, H5AC_FHEAP_IBLOCK, iblock->addr, new_addr) < 0) HGOTO_ERROR(H5E_HEAP, H5E_CANTSPLIT, FAIL, "unable to move fractal heap root indirect block") iblock->addr = new_addr; } /* end if */ @@ -286,8 +286,8 @@ H5HL_dblk_realloc(H5F_t *f, hid_t dxpl_id, H5HL_t *heap, size_t new_heap_size) HGOTO_ERROR(H5E_HEAP, H5E_CANTRESIZE, FAIL, "unable to resize heap data block in cache") /* Relocate the heap data block in the cache */ - if(H5AC_rename(f, H5AC_LHEAP_DBLK, old_addr, new_addr) < 0) - HGOTO_ERROR(H5E_HEAP, H5E_CANTRENAME, FAIL, "unable to move heap data block in cache") + if(H5AC_move_entry(f, H5AC_LHEAP_DBLK, old_addr, new_addr) < 0) + HGOTO_ERROR(H5E_HEAP, H5E_CANTMOVE, FAIL, "unable to move heap data block in cache") } /* end else */ } /* end else */ diff --git a/src/H5err.txt b/src/H5err.txt index 7b9fcb4..c407cfc 100644 --- a/src/H5err.txt +++ b/src/H5err.txt @@ -162,7 +162,6 @@ MINOR, CACHE, H5E_PROTECT, Protected metadata error MINOR, CACHE, H5E_NOTCACHED, Metadata not currently cached MINOR, CACHE, H5E_SYSTEM, Internal error detected MINOR, CACHE, H5E_CANTINS, Unable to insert metadata into cache -MINOR, CACHE, H5E_CANTRENAME, Unable to rename metadata MINOR, CACHE, H5E_CANTPROTECT, Unable to protect metadata MINOR, CACHE, H5E_CANTUNPROTECT, Unable to unprotect metadata MINOR, CACHE, H5E_CANTPIN, Unable to pin cache entry @@ -195,6 +194,7 @@ MINOR, OHDR, H5E_CANTDELETE, Can't delete message MINOR, OHDR, H5E_BADITER, Iteration failed MINOR, OHDR, H5E_CANTPACK, Can't pack messages MINOR, OHDR, H5E_CANTRESET, Can't reset object +MINOR, OHDR, H5E_CANTRENAME, Unable to rename object # Group related errors MINOR, GROUP, H5E_CANTOPENOBJ, Can't open object @@ -223,7 +223,7 @@ MINOR, PLIST, H5E_DUPCLASS, Duplicate class name in parent class MINOR, LINK, H5E_TRAVERSE, Link traversal failure MINOR, LINK, H5E_NLINKS, Too many soft links in path MINOR, LINK, H5E_NOTREGISTERED, Link class not registered -MINOR, LINK, H5E_CANTMOVE, Move callback returned error +MINOR, LINK, H5E_CANTMOVE, Can't move object MINOR, LINK, H5E_CANTSORT, Can't sort objects # Parallel MPI errors |