Author Commit Message Commit Date David Young 89665577055 Flesh out the delete/validate-deletion tests. Extract a shared
subroutine. 23 Apr 2020 David Young a9849089c68 Delete dead code. Re-enable the coordination between reader and writer:
the writer expects to read a character on its standard input stream when
the reader is ready for it to delete the zoo content. 23 Apr 2020 David Young b1e2eceed77 Let the reader-side tick instrumentation know about the first tick read
from the shadow file. 23 Apr 2020 David Young a0b6979c6ff Relax an assertion condition. 23 Apr 2020 David Young 3cc2644c70a Bug fix: in the freespace manager, use a new routine,
H5PB_remove_entries(), to remove *all* pages overlapped by the freed
space, instead of just the first one. 23 Apr 2020 David Young 744ff2b84d8 Delete an assertion that doesn't hold true for multipage entries. 21 Apr 2020 David Young 13e930d306f Add a `skip compact` configuration for skipping the "zoo" tests for
compact datasets.
Bundle the zoo-test configuration into a new type, zoo_config_t.
Add a couple new "zoo" test phases, "delete" and "validate-deletion", to
the existing "create" and "verify" phases. Give names and numbers to
all phases with the new `enum`, `phase_t`, and refactor so that tend_zoo
runs a selection of phases at each step.
Stub the "delete" and "validate-deletion" phases for most test steps.
Actually impleme... 21 Apr 2020 David Young de18e8c95a3 Make await_signal() await any signal instead of just SIGINT. Add a
(commented out) private version of strsignal(3), just in case we need
one on some platform. 21 Apr 2020 David Young 95105d3facd Prevent a spurious assertion by using the correct index, oops! 21 Apr 2020 David Young b1de3197d38 Delete an empty line. NFCI. 21 Apr 2020 David Young 62ae44da95b Straggler from last: provide stub implementations
of vfd_swmr_writer_may_increase_tick_to() and
vfd_swmr_reader_did_increase_tick_to(). 21 Apr 2020 David Young 1d9ab42c571 Add a second bool argument to H5F_vfd_swmr_writer_end_of_tick() that
tells whether the call may wait for the reader tick to catch up.
Add stub routines vfd_swmr_writer_may_increase_tick_to() and
vfd_swmr_reader_did_increase_tick_to() for tests---e.g.,
vfd_swmr_zoo_writer/_reader---to use to coordinate their tick numbers.
vfd_swmr_writer_may_increase_tick_to(new_tick, wait_for_reader) returns
true if the writer may increase its tick number to `new_tick` without
overrunning the reader.
A rea... 21 Apr 2020 David Young ea51b2e095c Condense H5F_vfd_swmr_close_or_flush() for readability: remove
unnecessary comments and trim whitespace. Remove unnecessary backslash
line continuations and add semicolons to HGOTO_ERROR() statements.
NFCI. 21 Apr 2020 David Young f05358b4107 Quiet some used-before-initialized warnings. 20 Apr 2020 David Young 53cb28016d9 Straggler from last: retire vfd_swmr_writer_g. 20 Apr 2020 David Young aee40b370d9 Retire globals vfd_swmr_writer_g and end_of_tick_g. 20 Apr 2020 David Young fc36f531155 Quiet some used-before-initialized warnings and, while I am here,
initialize one variable with a named constant instead of -1. 20 Apr 2020 David Young 752af2134f0 Stragglers from previous: globally declare some hlog outlets and add
declare some new functions. 16 Apr 2020 David Young 69e95c37481 Add a log outlet for metadata cache (MDC) invalidations,
`mdc_invalidation`, and use it to log a message when
H5C_evict_or_refresh_all_entries_in_page() does not find any affected
entries.
Pass a page length to H5C_evict_or_refresh_all_entries_in_page() so that
it can assert if a multipage eviction overlaps a single-page entry,
which had better not happen.
Fix a bug in H5F_vfd_swmr_reader_end_of_tick() and heavily rework it:
remove page-table entries and evict/refresh MDC entries that overl... 16 Apr 2020 David Young 71b7a186ef9 Delete unused line, shorten a comment, wrap some lines, add missing
semicolons and curly braces. NFCI. 16 Apr 2020 David Young 9c6b5a270c1 Re-enable reclamation of disused shadow-index entries. 16 Apr 2020 David Young 98838cb0f3c Remove unnecessary pointer test: it cannot possibly be NULL. 16 Apr 2020 David Young ad4206a604c Remove gratuitous initialization, comment, and assertions. 16 Apr 2020 David Young 6f65412b76e Extract a subroutine, H5F_vfd_swmr_process_eot_queue(), from the
end-of-tick processing macro. H5F_vfd_swmr_process_eot_queue() looks
for files due for end-of-tick processing and calls either the reader or
writer EOT routine.
Always call the reader/writer EOT routines with an actual H5F_t instead
of NULL. 16 Apr 2020 David Young 21f3fae4698 Refactor: extract subroutine estack_get_state() for reuse in a commit
that's coming soon. 16 Apr 2020 David Young 86be273386b Send debug messages to stderr instead of to stdout. 16 Apr 2020 David Young 1f563c80b58 Improve diagnostic logging. 16 Apr 2020 David Young c69d756f751 Oops, properly the outlet symbol-name prefix with the rest of the symbol
name, so the symbols are not prefixed with `HLOG_PREFIX` but with
`hlog_gbl_`. 16 Apr 2020 David Young aebeeada310 When hlog_set_state() changes the state of an outlet, reset each
outlet's cached state so that its state is reevaluated. 16 Apr 2020 David Young 6bf7e1cadab Log page-buffer reads and writes no matter what storage type. (Used to
log only the global heap-type reads and writes.) 16 Apr 2020 David Young f51f69faad3 Re-wrap paragraphs at < 80 columns. 15 Apr 2020 David Young 4b40738946b Mark a task complete, fix some typos, wrap some paragraphs. 15 Apr 2020 David Young 671c28bfad3 Put multiline if-body in curly braces, repair indentation, remove
gratuitous backslash line continuation, add missing semicolons. 14 Apr 2020 David Young a6d7004c030 Wrap a line before 80 characters. NFCI. 14 Apr 2020 David Young 4dc315dfb78 Document `hlog` a bit. 14 Apr 2020 David Young 43b8671231c Change the prefix for hlog_outlet_t's from log_ to hlog_gbl_ to avoid
namespace pollution. Use a `#define HLOG_PREFIX hlog_gbl_` so that I
can change all of the prefixes in one place if need be. 13 Apr 2020 David Young 03a91f3cf55 Add a log outlet, `tick`, and log some changes to the tick number there.
While I'm here, assert in the reader that the tick number hasn't leapt
forward by more than max_lag ticks. 13 Apr 2020 David Young 5248e9f2c5f `tick_num_g` has been gone for a while, so do not refer to it in
comments any longer. 13 Apr 2020 David Young 647091ab539 Add clean_shadow_index() for removing shadow-index entries that were
flushed more than max_lag ticks ago. This conserves space in the shadow
file, which would grow great big while the `credel` demo ran. 13 Apr 2020 vchoi 2b5dbc7d42c Add H5MV split method for alignment. 13 Apr 2020 David Young 1ce8ff1fea6 Check whether or not the shadow entry size is different from the
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. 13 Apr 2020 David Young 8ec3ad3d93c Be brief: remove commas and equal signs from diagnostic log messages. 08 Apr 2020 David Young 6d0d1b490bc Fix spelling in a comment. 07 Apr 2020 David Young c1b655b568f Count failures of the variable-length string tests as "soft errors"
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. 07 Apr 2020 David Young 25968a795b4 Add a new log outlet and change an `fprintf(stderr,` to an
`hlog_fast(lengthen_pbentry,`. This quiets one of the VFD SWMR tests. 07 Apr 2020 David Young 1292630c622 Straggler from previous: declare the new shadow_index_reclaim log
outlet. 07 Apr 2020 David Young 3aaa7a4f279 Don't try to free a NULL pointer. 07 Apr 2020 David Young a3262d2274f Quiet a warning about the variable being used before it is initialized.
Looks like the compiler actually was wrong, but this is a harmless
change to make. 07 Apr 2020 David Young 7b83633d5ef Simplify H5PB_vfd_swmr__update_index(), which figures in
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... 07 Apr 2020 David Young 46832e59ecd Declutter: remove superfluous comment and assertion. NFCI. 07 Apr 2020 ← Prev Next → require('plugin/commitgraph/network').applyCommits([{id: '89665577055a0ba1bffb42944eb440aab23e4089', href: '/users/brtnfld/repos/hdf5_msb/commits/89665577055a0ba1bffb42944eb440aab23e4089',parents: [{ id: 'a9849089c6838289321a2d6b36d1dd20397cf892' }]},{id: 'a9849089c6838289321a2d6b36d1dd20397cf892', href: '/users/brtnfld/repos/hdf5_msb/commits/a9849089c6838289321a2d6b36d1dd20397cf892',parents: [{ id: 'b1e2eceed77fa5dcab8f383cdad3a76d728802a0' }]},{id: 'b1e2eceed77fa5dcab8f383cdad3a76d728802a0', href: '/users/brtnfld/repos/hdf5_msb/commits/b1e2eceed77fa5dcab8f383cdad3a76d728802a0',parents: [{ id: 'a0b6979c6ff1eef468bd815cd6162709967cf060' }]},{id: 'a0b6979c6ff1eef468bd815cd6162709967cf060', href: '/users/brtnfld/repos/hdf5_msb/commits/a0b6979c6ff1eef468bd815cd6162709967cf060',parents: [{ id: '3cc2644c70a04a99a5c915c27c67e070efaf7ae6' }]},{id: '3cc2644c70a04a99a5c915c27c67e070efaf7ae6', href: '/users/brtnfld/repos/hdf5_msb/commits/3cc2644c70a04a99a5c915c27c67e070efaf7ae6',parents: [{ id: '744ff2b84d8a9743aff504184ce6b21e68e9c5d5' }]},{id: '744ff2b84d8a9743aff504184ce6b21e68e9c5d5', href: '/users/brtnfld/repos/hdf5_msb/commits/744ff2b84d8a9743aff504184ce6b21e68e9c5d5',parents: [{ id: '13e930d306fc38940b00fe020ededbc9a191c4d2' }]},{id: '13e930d306fc38940b00fe020ededbc9a191c4d2', href: '/users/brtnfld/repos/hdf5_msb/commits/13e930d306fc38940b00fe020ededbc9a191c4d2',parents: [{ id: 'de18e8c95a3b6c5d7f9fee66d70546fa46046d21' }]},{id: 'de18e8c95a3b6c5d7f9fee66d70546fa46046d21', href: '/users/brtnfld/repos/hdf5_msb/commits/de18e8c95a3b6c5d7f9fee66d70546fa46046d21',parents: [{ id: '95105d3facd8e747401e4642d38c3cd35b708238' }]},{id: '95105d3facd8e747401e4642d38c3cd35b708238', href: '/users/brtnfld/repos/hdf5_msb/commits/95105d3facd8e747401e4642d38c3cd35b708238',parents: [{ id: 'b1de3197d3866316f8b3c12a4bd9a09ff074c0d9' }]},{id: 'b1de3197d3866316f8b3c12a4bd9a09ff074c0d9', href: '/users/brtnfld/repos/hdf5_msb/commits/b1de3197d3866316f8b3c12a4bd9a09ff074c0d9',parents: [{ id: '62ae44da95b635b13cbfe35d05ad9f56fc2d5b60' }]},{id: '62ae44da95b635b13cbfe35d05ad9f56fc2d5b60', href: '/users/brtnfld/repos/hdf5_msb/commits/62ae44da95b635b13cbfe35d05ad9f56fc2d5b60',parents: [{ id: '1d9ab42c5716533e9bf58c678a5c8de1ede3f0a8' }]},{id: '1d9ab42c5716533e9bf58c678a5c8de1ede3f0a8', href: '/users/brtnfld/repos/hdf5_msb/commits/1d9ab42c5716533e9bf58c678a5c8de1ede3f0a8',parents: [{ id: 'ea51b2e095c2ffeedc8bb7fee7dd373905e1806d' }]},{id: 'ea51b2e095c2ffeedc8bb7fee7dd373905e1806d', href: '/users/brtnfld/repos/hdf5_msb/commits/ea51b2e095c2ffeedc8bb7fee7dd373905e1806d',parents: [{ id: 'f05358b4107e9c7857e644b5cd05b8d32aeed0f8' }]},{id: 'f05358b4107e9c7857e644b5cd05b8d32aeed0f8', href: '/users/brtnfld/repos/hdf5_msb/commits/f05358b4107e9c7857e644b5cd05b8d32aeed0f8',parents: [{ id: '53cb28016d9adbb1d0c72599e80d600b6d1abb38' }]},{id: '53cb28016d9adbb1d0c72599e80d600b6d1abb38', href: '/users/brtnfld/repos/hdf5_msb/commits/53cb28016d9adbb1d0c72599e80d600b6d1abb38',parents: [{ id: 'aee40b370d9d005f7d15cc3f4c2b4c78fc8a9ab8' }]},{id: 'aee40b370d9d005f7d15cc3f4c2b4c78fc8a9ab8', href: '/users/brtnfld/repos/hdf5_msb/commits/aee40b370d9d005f7d15cc3f4c2b4c78fc8a9ab8',parents: [{ id: 'fc36f531155510f397c96f8d5b6e3a69cbb8a341' }]},{id: 'fc36f531155510f397c96f8d5b6e3a69cbb8a341', href: '/users/brtnfld/repos/hdf5_msb/commits/fc36f531155510f397c96f8d5b6e3a69cbb8a341',parents: [{ id: '752af2134f0083b24bd50f2ca380cfa588fd737d' }]},{id: '752af2134f0083b24bd50f2ca380cfa588fd737d', href: '/users/brtnfld/repos/hdf5_msb/commits/752af2134f0083b24bd50f2ca380cfa588fd737d',parents: [{ id: '69e95c37481ef98279a368ef4206f48e3688a014' }]},{id: '69e95c37481ef98279a368ef4206f48e3688a014', href: '/users/brtnfld/repos/hdf5_msb/commits/69e95c37481ef98279a368ef4206f48e3688a014',parents: [{ id: '71b7a186ef963b31529ecfd7467a32ef268ded62' }]},{id: '71b7a186ef963b31529ecfd7467a32ef268ded62', href: '/users/brtnfld/repos/hdf5_msb/commits/71b7a186ef963b31529ecfd7467a32ef268ded62',parents: [{ id: '9c6b5a270c1f55efadcf5cea0cf680f6105e2918' }]},{id: '9c6b5a270c1f55efadcf5cea0cf680f6105e2918', href: '/users/brtnfld/repos/hdf5_msb/commits/9c6b5a270c1f55efadcf5cea0cf680f6105e2918',parents: [{ id: '98838cb0f3ccc7697dfb2a7e18ef4a5a0c3dfafd' }]},{id: '98838cb0f3ccc7697dfb2a7e18ef4a5a0c3dfafd', href: '/users/brtnfld/repos/hdf5_msb/commits/98838cb0f3ccc7697dfb2a7e18ef4a5a0c3dfafd',parents: [{ id: 'ad4206a604cdd4c20301b651d121516673d580be' }]},{id: 'ad4206a604cdd4c20301b651d121516673d580be', href: '/users/brtnfld/repos/hdf5_msb/commits/ad4206a604cdd4c20301b651d121516673d580be',parents: [{ id: '6f65412b76e64478d7a1089afec341f409203729' }]},{id: '6f65412b76e64478d7a1089afec341f409203729', href: '/users/brtnfld/repos/hdf5_msb/commits/6f65412b76e64478d7a1089afec341f409203729',parents: [{ id: '21f3fae46982195f88b37471896bb68668dff633' }]},{id: '21f3fae46982195f88b37471896bb68668dff633', href: '/users/brtnfld/repos/hdf5_msb/commits/21f3fae46982195f88b37471896bb68668dff633',parents: [{ id: '86be273386b23c56300dd53705524eb269127b4a' }]},{id: '86be273386b23c56300dd53705524eb269127b4a', href: '/users/brtnfld/repos/hdf5_msb/commits/86be273386b23c56300dd53705524eb269127b4a',parents: [{ id: '1f563c80b58b1d480af24a21c1da08a1217b9ac2' }]},{id: '1f563c80b58b1d480af24a21c1da08a1217b9ac2', href: '/users/brtnfld/repos/hdf5_msb/commits/1f563c80b58b1d480af24a21c1da08a1217b9ac2',parents: [{ id: 'c69d756f7514cdd8fdb3a18d3975144a91cefcbb' }]},{id: 'c69d756f7514cdd8fdb3a18d3975144a91cefcbb', href: '/users/brtnfld/repos/hdf5_msb/commits/c69d756f7514cdd8fdb3a18d3975144a91cefcbb',parents: [{ id: 'aebeeada3106247e74f3106a76c3cc0919aebdc7' }]},{id: 'aebeeada3106247e74f3106a76c3cc0919aebdc7', href: '/users/brtnfld/repos/hdf5_msb/commits/aebeeada3106247e74f3106a76c3cc0919aebdc7',parents: [{ id: '6bf7e1cadab7448255cb11399afdb4f66ab24666' }]},{id: '6bf7e1cadab7448255cb11399afdb4f66ab24666', href: '/users/brtnfld/repos/hdf5_msb/commits/6bf7e1cadab7448255cb11399afdb4f66ab24666',parents: [{ id: 'f51f69faad3f43132e568c905147f6be8e77b41a' }]},{id: 'f51f69faad3f43132e568c905147f6be8e77b41a', href: '/users/brtnfld/repos/hdf5_msb/commits/f51f69faad3f43132e568c905147f6be8e77b41a',parents: [{ id: '4b40738946b0fac7cbf493b7f50bc7f7f1a15ed4' }]},{id: '4b40738946b0fac7cbf493b7f50bc7f7f1a15ed4', href: '/users/brtnfld/repos/hdf5_msb/commits/4b40738946b0fac7cbf493b7f50bc7f7f1a15ed4',parents: [{ id: '671c28bfad362c7463aea4070b825eeb3a58dc06' }]},{id: '671c28bfad362c7463aea4070b825eeb3a58dc06', href: '/users/brtnfld/repos/hdf5_msb/commits/671c28bfad362c7463aea4070b825eeb3a58dc06',parents: [{ id: 'a6d7004c030d492a2d6149d80f0d8998b1d2e9b1' }]},{id: 'a6d7004c030d492a2d6149d80f0d8998b1d2e9b1', href: '/users/brtnfld/repos/hdf5_msb/commits/a6d7004c030d492a2d6149d80f0d8998b1d2e9b1',parents: [{ id: '4dc315dfb78831a268bb1d66935c97e19c83a6f0' }]},{id: '4dc315dfb78831a268bb1d66935c97e19c83a6f0', href: '/users/brtnfld/repos/hdf5_msb/commits/4dc315dfb78831a268bb1d66935c97e19c83a6f0',parents: [{ id: '43b8671231c027efcc7a2db25c06677fd205fa88' }]},{id: '43b8671231c027efcc7a2db25c06677fd205fa88', href: '/users/brtnfld/repos/hdf5_msb/commits/43b8671231c027efcc7a2db25c06677fd205fa88',parents: [{ id: '03a91f3cf55349a81000c4cebf8d726980b6b220' }]},{id: '03a91f3cf55349a81000c4cebf8d726980b6b220', href: '/users/brtnfld/repos/hdf5_msb/commits/03a91f3cf55349a81000c4cebf8d726980b6b220',parents: [{ id: '5248e9f2c5f5b3ece8479845d42e3fe5106c0b42' }]},{id: '5248e9f2c5f5b3ece8479845d42e3fe5106c0b42', href: '/users/brtnfld/repos/hdf5_msb/commits/5248e9f2c5f5b3ece8479845d42e3fe5106c0b42',parents: [{ id: '647091ab5395383b0b1145695cde1440699c62d2' }]},{id: '647091ab5395383b0b1145695cde1440699c62d2', href: '/users/brtnfld/repos/hdf5_msb/commits/647091ab5395383b0b1145695cde1440699c62d2',parents: [{ id: '2b5dbc7d42c39d23dfa07f6ecd61270ec1eae3a4' }]},{id: '2b5dbc7d42c39d23dfa07f6ecd61270ec1eae3a4', href: '/users/brtnfld/repos/hdf5_msb/commits/2b5dbc7d42c39d23dfa07f6ecd61270ec1eae3a4',parents: [{ id: '1ce8ff1fea6b87732dc8a4acf2c995bb3fb6ea92' }]},{id: '1ce8ff1fea6b87732dc8a4acf2c995bb3fb6ea92', href: '/users/brtnfld/repos/hdf5_msb/commits/1ce8ff1fea6b87732dc8a4acf2c995bb3fb6ea92',parents: [{ id: '8ec3ad3d93c31d1ab8766fddd7190e2843d059d3' }]},{id: '8ec3ad3d93c31d1ab8766fddd7190e2843d059d3', href: '/users/brtnfld/repos/hdf5_msb/commits/8ec3ad3d93c31d1ab8766fddd7190e2843d059d3',parents: [{ id: '6d0d1b490bcfc262cb3062638b11fd9e1c332463' }]},{id: '6d0d1b490bcfc262cb3062638b11fd9e1c332463', href: '/users/brtnfld/repos/hdf5_msb/commits/6d0d1b490bcfc262cb3062638b11fd9e1c332463',parents: [{ id: 'c1b655b568fb91a4571958f93d0c2613df793c98' }]},{id: 'c1b655b568fb91a4571958f93d0c2613df793c98', href: '/users/brtnfld/repos/hdf5_msb/commits/c1b655b568fb91a4571958f93d0c2613df793c98',parents: [{ id: '25968a795b425d6ff634cb8fb4c54f9c129ef0d1' }]},{id: '25968a795b425d6ff634cb8fb4c54f9c129ef0d1', href: '/users/brtnfld/repos/hdf5_msb/commits/25968a795b425d6ff634cb8fb4c54f9c129ef0d1',parents: [{ id: '1292630c62207c5fc6c979517fb0f827f1e2aa1f' }]},{id: '1292630c62207c5fc6c979517fb0f827f1e2aa1f', href: '/users/brtnfld/repos/hdf5_msb/commits/1292630c62207c5fc6c979517fb0f827f1e2aa1f',parents: [{ id: '3aaa7a4f279f5605d547fea52e03e43f08b2c8e6' }]},{id: '3aaa7a4f279f5605d547fea52e03e43f08b2c8e6', href: '/users/brtnfld/repos/hdf5_msb/commits/3aaa7a4f279f5605d547fea52e03e43f08b2c8e6',parents: [{ id: 'a3262d2274f890b18ada2b4629822deec77fa9b7' }]},{id: 'a3262d2274f890b18ada2b4629822deec77fa9b7', href: '/users/brtnfld/repos/hdf5_msb/commits/a3262d2274f890b18ada2b4629822deec77fa9b7',parents: [{ id: '7b83633d5efa18746fc842ef755b25c09c3fcf38' }]},{id: '7b83633d5efa18746fc842ef755b25c09c3fcf38', href: '/users/brtnfld/repos/hdf5_msb/commits/7b83633d5efa18746fc842ef755b25c09c3fcf38',parents: [{ id: '46832e59ecd74fac0cddf32ae32f2c75a6e2565f' }]},{id: '46832e59ecd74fac0cddf32ae32f2c75a6e2565f', href: '/users/brtnfld/repos/hdf5_msb/commits/46832e59ecd74fac0cddf32ae32f2c75a6e2565f',parents: [{ id: 'd9ee55cbd97cd85b9ee924feb6818d2e9daea6bd' }]}]);