Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add H5MV split method for alignment. | vchoi | 2020-04-13 | 1 | -24/+57 |
| | |||||
* | Check whether or not the shadow entry size is different from the | David Young | 2020-04-13 | 1 | -2/+15 |
| | | | | | | | | | | | pagebuffer entry size. If the sizes are different, then release the old shadow space (using the correct size) and set the shadow page number to 0 so that H5F_update_vfd_swmr_metadata_file() will allocate new shadow space with the right size. Vailin says that this fixes the bug she found, where a 4096-byte buffer allocated by H5MV_alloc() is released with H5MV_free() as if it was 8192 bytes long. | ||||
* | Be brief: remove commas and equal signs from diagnostic log messages. | David Young | 2020-04-08 | 1 | -18/+19 |
| | |||||
* | Fix spelling in a comment. | David Young | 2020-04-08 | 1 | -1/+1 |
| | |||||
* | Count failures of the variable-length string tests as "soft errors" | David Young | 2020-04-07 | 1 | -2/+8 |
| | | | | | | | that don't count as VFD SWMR test failures. The variable-length string tests are nondeterministic, so we expect them to fail, and they do fail quite often on `jelly`, for example. | ||||
* | Add a new log outlet and change an `fprintf(stderr,` to an | David Young | 2020-04-07 | 1 | -1/+2 |
| | | | | `hlog_fast(lengthen_pbentry,`. This quiets one of the VFD SWMR tests. | ||||
* | Straggler from previous: declare the new shadow_index_reclaim log | David Young | 2020-04-07 | 1 | -0/+1 |
| | | | | outlet. | ||||
* | Don't try to free a NULL pointer. | David Young | 2020-04-07 | 1 | -1/+2 |
| | |||||
* | Quiet a warning about the variable being used before it is initialized. | David Young | 2020-04-07 | 1 | -1/+1 |
| | | | | | Looks like the compiler actually was wrong, but this is a harmless change to make. | ||||
* | Simplify H5PB_vfd_swmr__update_index(), which figures in | David Young | 2020-04-07 | 1 | -21/+23 |
| | | | | | | | | | | | | | | | | | my investigation of shadow-file freespace leaks. Copy the tick number from the H5F_shared_t to a temporary variable and use the temporary instead of spelling out `shared->tick_num`. Assert that every entry on the tick list is dirty, since clean entries will not appear on the tick list. Mark each corresponding shadow-index entry dirty, and set its "tick of last change" to the current tick and "tick of last flush" to 0. This makes the scan for entries that do not appear on the tick list more believable. Lower staircase in the loop that scans for shadow-index entries that did not appear on the tick list. Log indicies that are marked for reclamation. | ||||
* | Declutter: remove superfluous comment and assertion. NFCI. | David Young | 2020-04-07 | 1 | -2/+0 |
| | |||||
* | Remove extraneous whitespace. NFCI. | David Young | 2020-04-07 | 1 | -2/+0 |
| | |||||
* | After adding a shadow page to the deferred free list, set the entry's | David Young | 2020-04-07 | 1 | -3/+5 |
| | | | | page number to 0 so that we cannot free it again by accident. | ||||
* | Add a log outlet and shorten the name of an existing outlet. | David Young | 2020-04-07 | 1 | -2/+7 |
| | |||||
* | Fix the width of an index variable. | David Young | 2020-04-07 | 1 | -1/+1 |
| | |||||
* | If the shadow-index size is 0 in the current step, don't calloc(3) | David Young | 2020-04-06 | 1 | -2/+2 |
| | | | | anything, since calloc(0, ...) is undefined. | ||||
* | Make some changes to conserve filespace and ensure that all filespace is | David Young | 2020-04-06 | 2 | -2/+8 |
| | | | | | | | | | | | | | | | | eventually reclaimed. Defer reclamation of raw data filespace, only. XXX Deferring only raw-data reclamation isn't *quite* sufficient because XXX a writer could conceivably reuse metadata space as raw-data space XXX before max_lag ticks have elapsed. Readers could see metadata XXX corrupted by raw data. Once a file starts to close, stop deferring reclamation. In H5MF_free_aggrs(), perform all deferred reclamations if the file is closing. | ||||
* | Improve diagnostic logging. | David Young | 2020-04-02 | 1 | -7/+26 |
| | |||||
* | Standardize and shorten diagnostic messages to help my search for the | David Young | 2020-04-02 | 1 | -11/+11 |
| | | | | leak of shadow-file space. | ||||
* | Remove superfluous comment. Remove unnecessary variable | David Young | 2020-04-02 | 1 | -3/+3 |
| | | | | | initializations: the compiler will tell us if the variables are used before they're set. NFCI. | ||||
* | Remove superfluous whitespace, insert whitespace around / operator, | David Young | 2020-04-02 | 1 | -5/+3 |
| | | | | repair for-loop indentation. NFCI. | ||||
* | Update comments, shorten comments, remove superfluous comments. | David Young | 2020-04-02 | 1 | -14/+5 |
| | |||||
* | Add a `reader` personality to vfd_swmr_zoo_writer. Remove the disused | David Young | 2020-03-31 | 2 | -22/+46 |
| | | | | | `-t` option. Disable the error stack across create_/validate_zoo() calls. | ||||
* | Prepare for reuse in vfd_swmr_zoo_{reader,writer}: in | David Young | 2020-03-31 | 3 | -1766/+1116 |
| | | | | | | validate_zoo()/check_zoo(), instead of checking/modifying the global variable `pass`, just return `false` on failure, `true` on success. Update test `cache_image` to match. | ||||
* | Rename process_deferred_frees as H5MF_process_deferred_frees and make it | David Young | 2020-03-31 | 2 | -7/+8 |
| | | | | | | available to other files. Make the tick number a parameter instead of using the f->shared->tick_num, so that we can pass a maximal tick number and that way reclaim all of the deferred frees. | ||||
* | Fix whitespace at end (beginning?) of line. NFCI. | David Young | 2020-03-31 | 1 | -1/+1 |
| | |||||
* | Straggler: add htri_to_string() for converting htri_t to a string | David Young | 2020-03-30 | 1 | -0/+11 |
| | | | | constant. | ||||
* | Relax H5F_update_vfd_swmr_metadata_file() argument checking so that we can call | David Young | 2020-03-30 | 1 | -15/+5 |
| | | | | | it with num_entries == 0 and a non-NULL `index`. Delete some code that isn't necessary if `num_entries == 0 && index != NULL` is allowed. NFCI. | ||||
* | Simplify: change `if (cond) { assert(FALSE); }` to `assert(!cond);`. | David Young | 2020-03-30 | 1 | -4/+1 |
| | |||||
* | Lower staircase. NFCI. | David Young | 2020-03-30 | 1 | -20/+19 |
| | |||||
* | Delete an #ifdef H5MV_VFD_SWMR_DEBUG debug fprintf that probably never worked | David Young | 2020-03-30 | 1 | -3/+0 |
| | | | | quite as intended. | ||||
* | Add a log outlet. Replace #ifdef H5MV_VFD_SWMR_DEBUG debug fprintf's with | David Young | 2020-03-30 | 1 | -24/+19 |
| | | | | hlog_fast() calls. | ||||
* | Add log outlets. Convert existing #ifdef H5MF_ALLOC_DEBUG{,_MORE} debug | David Young | 2020-03-30 | 1 | -77/+74 |
| | | | | fprintf's to hlog_fast() calls. Add some new hlog_fast() calls. | ||||
* | Delete ridiculous comments. Remove superfluous curly braces. NFCI. | David Young | 2020-03-30 | 1 | -10/+7 |
| | |||||
* | Delete ridiculous comment and excess for-loop whitespace. NFCI. | David Young | 2020-03-30 | 1 | -2/+2 |
| | |||||
* | Delete ridiculous comments and repair some whitespace. NFCI. | David Young | 2020-03-30 | 1 | -4/+3 |
| | |||||
* | Be brief: turn 7 lines of if-else to one line of ?:. Be sensible: don't | David Young | 2020-03-30 | 1 | -10/+1 |
| | | | | assert a pointer we just dereferenced is non-NULL. | ||||
* | Let us use space as well as comma to separate outlet=yes|no clauses in | David Young | 2020-03-30 | 1 | -1/+1 |
| | | | | the HLOG environment variable. | ||||
* | Reverted optimization in the metadata cache that avoided re-reading | mainzer | 2020-03-26 | 1 | -0/+49 |
| | | | | | | | the first portion of a metadata cache entry in speculative reads. This is necessary for VFD SWMR as it presumes that metadata entries are read and written atomically. See comments in H5C.c / H5C_load_entry() for further details. | ||||
* | Remove a duplicate `#define H5FD_TESTING` line. | David Young | 2020-03-24 | 1 | -1/+0 |
| | |||||
* | Add option flag `-v` for verbose messages. Alphabetize the options | David Young | 2020-03-24 | 1 | -3/+7 |
| | | | | switch-statement. | ||||
* | When creating a shadow index for testing, increase the page number from | David Young | 2020-03-24 | 1 | -1/+3 |
| | | | | | one entry to the next by *at least* 1 so that the index is well-formed. This fixes a crash that occurred with H5_SHADOW_INDEX_SEED=1585006453. | ||||
* | The forced-fail index comes only from the environment, never from | David Young | 2020-03-24 | 1 | -1/+1 |
| | | | | time(3). | ||||
* | Use the name vfd_swmr_zoo.h5 for the zoo file, not vfd_swmr_vlstr.h5. | David Young | 2020-03-23 | 1 | -1/+1 |
| | |||||
* | Let tests provide a "hook" that runs after each step in create_zoo(). | David Young | 2020-03-23 | 5 | -1/+40 |
| | | | | Provide a hook in vfd_swmr_zoo_writer that calls H5Fvfd_swmr_end_tick(). | ||||
* | Take a stab at a "zoo" writer for VFD SWMR: write all of the same | David Young | 2020-03-20 | 2 | -2/+193 |
| | | | | | | | | | | objects as the cache_image test does. The zoo writer is a work in progress. This version is useful as a reproducer for the hang in the global heap that I stumbled over, yesterday. I run this to reproduce, env HLOG="pbio=on" ./vfd_swmr_zoo_writer -W -a | ||||
* | Deduplicate create_zoo() and validate_zoo() and refactor for reuse by | David Young | 2020-03-20 | 3 | -336/+167 |
| | | | | | | VFD SWMR tests. This change reduces the length of genall5.c by 171 lines. | ||||
* | Add a log outlet for pagebuffer I/O and subordinate outlets for | David Young | 2020-03-20 | 1 | -2/+12 |
| | | | | | pagebuffer reads and writes: pbio, pbrd, pbwr. In H5PB_read() and H5PB_write(), log only global heap accesses, for now. | ||||
* | Protect against an assertion during H5Fflush(): do not doubly-increment | David Young | 2020-03-20 | 1 | -3/+2 |
| | | | | | | the tick number in H5F_vfd_swmr_close_or_flush() when just flushing, because that made the assertion in H5PB_vfd_swmr__set_tick(), that the tick number had not increased by more than one, fail. | ||||
* | Use more iterations on the variable-length string reader & writer to | David Young | 2020-03-17 | 1 | -2/+2 |
| | | | | lower the possibility of a false test failure. |