Author Commit Message Commit Date David Young d9ee55cbd97 Remove extraneous whitespace. NFCI. 07 Apr 2020 David Young 1137ffef6ab After adding a shadow page to the deferred free list, set the entry's
page number to 0 so that we cannot free it again by accident. 07 Apr 2020 David Young 8d6c1eca16e Add a log outlet and shorten the name of an existing outlet. 07 Apr 2020 David Young 25bafe0063c Fix the width of an index variable. 07 Apr 2020 David Young a788202831a If the shadow-index size is 0 in the current step, don't calloc(3)
anything, since calloc(0, ...) is undefined. 06 Apr 2020 David Young 9678dcffbf0 Make some changes to conserve filespace and ensure that all filespace is
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 i... 06 Apr 2020 David Young fd079a23574 Improve diagnostic logging. 02 Apr 2020 David Young 1041983d870 Standardize and shorten diagnostic messages to help my search for the
leak of shadow-file space. 02 Apr 2020 David Young a1175c1b98d Remove superfluous comment. Remove unnecessary variable
initializations: the compiler will tell us if the variables are used
before they're set. NFCI. 02 Apr 2020 David Young 40c638dcab8 Remove superfluous whitespace, insert whitespace around / operator,
repair for-loop indentation. NFCI. 02 Apr 2020 David Young 9c957495db6 Update comments, shorten comments, remove superfluous comments. 02 Apr 2020 David Young 9b5384b4366 Add a `reader` personality to vfd_swmr_zoo_writer. Remove the disused
`-t` option. Disable the error stack across create_/validate_zoo()
calls. 31 Mar 2020 David Young 69fcb52eca6 Prepare for reuse in vfd_swmr_zoo_{reader,writer}: in
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. 31 Mar 2020 David Young 817756a0e0a Rename process_deferred_frees as H5MF_process_deferred_frees and make it
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. 31 Mar 2020 David Young da70686a5a2 Fix whitespace at end (beginning?) of line. NFCI. 31 Mar 2020 David Young 928c820d045 Straggler: add htri_to_string() for converting htri_t to a string
constant. 30 Mar 2020 David Young d0b8accbc1f Relax H5F_update_vfd_swmr_metadata_file() argument checking so that we can call
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. 30 Mar 2020 David Young c7af3df8901 Simplify: change `if (cond) { assert(FALSE); }` to `assert(!cond);`. 30 Mar 2020 David Young ba7dde8ba98 Lower staircase. NFCI. 30 Mar 2020 David Young 53aee36c3e9 Delete an #ifdef H5MV_VFD_SWMR_DEBUG debug fprintf that probably never worked
quite as intended. 30 Mar 2020 David Young 9db701e95b3 Add a log outlet. Replace #ifdef H5MV_VFD_SWMR_DEBUG debug fprintf's with
hlog_fast() calls. 30 Mar 2020 David Young db5942d3f19 Add log outlets. Convert existing #ifdef H5MF_ALLOC_DEBUG{,_MORE} debug
fprintf's to hlog_fast() calls. Add some new hlog_fast() calls. 30 Mar 2020 David Young 5f58844bd51 Delete ridiculous comments. Remove superfluous curly braces. NFCI. 30 Mar 2020 David Young 989b6c20635 Delete ridiculous comment and excess for-loop whitespace. NFCI. 30 Mar 2020 David Young 57ae4206ca7 Delete ridiculous comments and repair some whitespace. NFCI. 30 Mar 2020 David Young 7d50e9c89e7 Be brief: turn 7 lines of if-else to one line of ?:. Be sensible: don't
assert a pointer we just dereferenced is non-NULL. 30 Mar 2020 David Young 78fac0241a5 Let us use space as well as comma to separate outlet=yes|no clauses in
the HLOG environment variable. 30 Mar 2020 mainzer 0135ec8d61a Reverted optimization in the metadata cache that avoided re-reading
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. 26 Mar 2020 David Young 14a8543c7a8 Remove a duplicate `#define H5FD_TESTING` line. 24 Mar 2020 David Young 8ccff19e02c Add option flag `-v` for verbose messages. Alphabetize the options
switch-statement. 24 Mar 2020 David Young ad8460cc166 When creating a shadow index for testing, increase the page number from
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. 24 Mar 2020 David Young e7b2095809f The forced-fail index comes only from the environment, never from
time(3). 24 Mar 2020 David Young 85f5bfb3b7e Use the name vfd_swmr_zoo.h5 for the zoo file, not vfd_swmr_vlstr.h5. 23 Mar 2020 David Young cb5e1ead29a Let tests provide a "hook" that runs after each step in create_zoo().
Provide a hook in vfd_swmr_zoo_writer that calls H5Fvfd_swmr_end_tick(). 23 Mar 2020 David Young 51b8fa3ffef Take a stab at a "zoo" writer for VFD SWMR: write all of the same
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 20 Mar 2020 David Young 52f8d8a1b15 Deduplicate create_zoo() and validate_zoo() and refactor for reuse by
VFD SWMR tests.
This change reduces the length of genall5.c by 171 lines. 20 Mar 2020 David Young a4a2dd2cc07 Add a log outlet for pagebuffer I/O and subordinate outlets for
pagebuffer reads and writes: pbio, pbrd, pbwr. In H5PB_read() and
H5PB_write(), log only global heap accesses, for now. 20 Mar 2020 David Young b6b43e6dc4d Protect against an assertion during H5Fflush(): do not doubly-increment
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. 20 Mar 2020 David Young cca96177427 Use more iterations on the variable-length string reader & writer to
lower the possibility of a false test failure. 17 Mar 2020 David Young f7b44e40c55 In H5PB__write_meta(), extend a single-page entry when overwriting it
with multiple pages. Update statistics to maintain consistency.
Refactor a bit: in H5PB__write_meta(), move code that's in both the if-
and else- branch to either before the if-else or after and de-duplicate.
In H5PB_vfd_swmr__update_index(), always update the length of a
shadow-index entry to the current size of its corresponding page-table
entry.
In H5PB_vfd_swmr__update_index(), disregard shadow-index entries that
aw... 17 Mar 2020 David Young 5d949764230 Join some lines. NFCI. 17 Mar 2020 David Young 705f52d2228 Test H5Dread() for the right "success" conditions. I'm not sure how
this even appeared to work, before. 16 Mar 2020 David Young 3d51febb376 Fix spelling, alread -> already. NFCI. 13 Mar 2020 David Young ae351c23763 Add tests for the two expected failure modes for variable-length (VL) strings
in VFD SWMR mode. 13 Mar 2020 David Young 9e81f0103cd Add disable_estack() and restore_estack() for disabling the current error-stack
handling and restoring the previous error-stack handling. 12 Mar 2020 David Young 9592b80913e Mention the problems VFD SWMR has with variable-length data. 11 Mar 2020 David Young 8cc8d63d5e7 Update Guide. Switch to a short and informative function name. 11 Mar 2020 David Young 4e4c1c38508 Add my work in progress on variable-length string test for VFD SWMR. 10 Mar 2020 David Young ecea500047a Start a user's guide. Mention problems with variable-length data. 10 Mar 2020 David Young 3f2e3659c20 Stop changing the type of global-heap storage to raw data before accessing the
page buffer. Now variable-length (VL) data such as VL strings work with VFD
SWMR. This change also makes the library more consistent in its treatment of
global-heap storage, since it's always been allocated as metadata, not raw
data. 09 Mar 2020 ← Prev Next → require('plugin/commitgraph/network').applyCommits([{id: 'd9ee55cbd97cd85b9ee924feb6818d2e9daea6bd', href: '/users/brtnfld/repos/hdf5_msb/commits/d9ee55cbd97cd85b9ee924feb6818d2e9daea6bd',parents: [{ id: '1137ffef6ab8bbc33c48014fdc60e00eeee518b6' }]},{id: '1137ffef6ab8bbc33c48014fdc60e00eeee518b6', href: '/users/brtnfld/repos/hdf5_msb/commits/1137ffef6ab8bbc33c48014fdc60e00eeee518b6',parents: [{ id: '8d6c1eca16e792d70aa568db23db9198214f1178' }]},{id: '8d6c1eca16e792d70aa568db23db9198214f1178', href: '/users/brtnfld/repos/hdf5_msb/commits/8d6c1eca16e792d70aa568db23db9198214f1178',parents: [{ id: '25bafe0063ca867b5f91645d5d51b87d121e9ac5' }]},{id: '25bafe0063ca867b5f91645d5d51b87d121e9ac5', href: '/users/brtnfld/repos/hdf5_msb/commits/25bafe0063ca867b5f91645d5d51b87d121e9ac5',parents: [{ id: 'a788202831ae8251e152edaf8dd43272e449f4c7' }]},{id: 'a788202831ae8251e152edaf8dd43272e449f4c7', href: '/users/brtnfld/repos/hdf5_msb/commits/a788202831ae8251e152edaf8dd43272e449f4c7',parents: [{ id: '9678dcffbf02f3d944a16af9ec6249f5a858df75' }]},{id: '9678dcffbf02f3d944a16af9ec6249f5a858df75', href: '/users/brtnfld/repos/hdf5_msb/commits/9678dcffbf02f3d944a16af9ec6249f5a858df75',parents: [{ id: 'fd079a23574376214aedeff9625b49d7b3917a81' }]},{id: 'fd079a23574376214aedeff9625b49d7b3917a81', href: '/users/brtnfld/repos/hdf5_msb/commits/fd079a23574376214aedeff9625b49d7b3917a81',parents: [{ id: '1041983d870e6e5fbeb7b90654d2ac5c8f356df5' }]},{id: '1041983d870e6e5fbeb7b90654d2ac5c8f356df5', href: '/users/brtnfld/repos/hdf5_msb/commits/1041983d870e6e5fbeb7b90654d2ac5c8f356df5',parents: [{ id: 'a1175c1b98d499fc765ea6c19452701403f01a65' }]},{id: 'a1175c1b98d499fc765ea6c19452701403f01a65', href: '/users/brtnfld/repos/hdf5_msb/commits/a1175c1b98d499fc765ea6c19452701403f01a65',parents: [{ id: '40c638dcab8da3aab24fdb754e10dcfa3d7dc7e6' }]},{id: '40c638dcab8da3aab24fdb754e10dcfa3d7dc7e6', href: '/users/brtnfld/repos/hdf5_msb/commits/40c638dcab8da3aab24fdb754e10dcfa3d7dc7e6',parents: [{ id: '9c957495db6542eb6afec6adeb1a264ca8d9e3bd' }]},{id: '9c957495db6542eb6afec6adeb1a264ca8d9e3bd', href: '/users/brtnfld/repos/hdf5_msb/commits/9c957495db6542eb6afec6adeb1a264ca8d9e3bd',parents: [{ id: '9b5384b43661d01c158b38808df7ab0a2430303f' }]},{id: '9b5384b43661d01c158b38808df7ab0a2430303f', href: '/users/brtnfld/repos/hdf5_msb/commits/9b5384b43661d01c158b38808df7ab0a2430303f',parents: [{ id: '69fcb52eca6ec15f366c069fb9beb29190d58ba1' }]},{id: '69fcb52eca6ec15f366c069fb9beb29190d58ba1', href: '/users/brtnfld/repos/hdf5_msb/commits/69fcb52eca6ec15f366c069fb9beb29190d58ba1',parents: [{ id: '817756a0e0a84a376e3c399f13ff495fde7a10a4' }]},{id: '817756a0e0a84a376e3c399f13ff495fde7a10a4', href: '/users/brtnfld/repos/hdf5_msb/commits/817756a0e0a84a376e3c399f13ff495fde7a10a4',parents: [{ id: 'da70686a5a22cd150e2be95d0b5f8b61dc50abe4' }]},{id: 'da70686a5a22cd150e2be95d0b5f8b61dc50abe4', href: '/users/brtnfld/repos/hdf5_msb/commits/da70686a5a22cd150e2be95d0b5f8b61dc50abe4',parents: [{ id: '928c820d0458ec3c83be18418385b4bb16b96fec' }]},{id: '928c820d0458ec3c83be18418385b4bb16b96fec', href: '/users/brtnfld/repos/hdf5_msb/commits/928c820d0458ec3c83be18418385b4bb16b96fec',parents: [{ id: 'd0b8accbc1fbc533d436ddcc4de1ccc7964d55d5' }]},{id: 'd0b8accbc1fbc533d436ddcc4de1ccc7964d55d5', href: '/users/brtnfld/repos/hdf5_msb/commits/d0b8accbc1fbc533d436ddcc4de1ccc7964d55d5',parents: [{ id: 'c7af3df89019d754f06f20f04518dc445befa846' }]},{id: 'c7af3df89019d754f06f20f04518dc445befa846', href: '/users/brtnfld/repos/hdf5_msb/commits/c7af3df89019d754f06f20f04518dc445befa846',parents: [{ id: 'ba7dde8ba98cbf1af21fd18be49be099f3123501' }]},{id: 'ba7dde8ba98cbf1af21fd18be49be099f3123501', href: '/users/brtnfld/repos/hdf5_msb/commits/ba7dde8ba98cbf1af21fd18be49be099f3123501',parents: [{ id: '53aee36c3e99518559c5cb5da9792fcb3a1404fc' }]},{id: '53aee36c3e99518559c5cb5da9792fcb3a1404fc', href: '/users/brtnfld/repos/hdf5_msb/commits/53aee36c3e99518559c5cb5da9792fcb3a1404fc',parents: [{ id: '9db701e95b3b4e04737aed764366f86c5f4a7d60' }]},{id: '9db701e95b3b4e04737aed764366f86c5f4a7d60', href: '/users/brtnfld/repos/hdf5_msb/commits/9db701e95b3b4e04737aed764366f86c5f4a7d60',parents: [{ id: 'db5942d3f195a4ec66690bfdd7ef81c26848d6dd' }]},{id: 'db5942d3f195a4ec66690bfdd7ef81c26848d6dd', href: '/users/brtnfld/repos/hdf5_msb/commits/db5942d3f195a4ec66690bfdd7ef81c26848d6dd',parents: [{ id: '5f58844bd515d39726a0313d308f540326bbe193' }]},{id: '5f58844bd515d39726a0313d308f540326bbe193', href: '/users/brtnfld/repos/hdf5_msb/commits/5f58844bd515d39726a0313d308f540326bbe193',parents: [{ id: '989b6c20635f581ac8ac0dc73323dd5818d50d69' }]},{id: '989b6c20635f581ac8ac0dc73323dd5818d50d69', href: '/users/brtnfld/repos/hdf5_msb/commits/989b6c20635f581ac8ac0dc73323dd5818d50d69',parents: [{ id: '57ae4206ca7e3f1b8e8e982ba078af665bb35c36' }]},{id: '57ae4206ca7e3f1b8e8e982ba078af665bb35c36', href: '/users/brtnfld/repos/hdf5_msb/commits/57ae4206ca7e3f1b8e8e982ba078af665bb35c36',parents: [{ id: '7d50e9c89e7ef2dcfd18f8bfe7d5eb4afa91d700' }]},{id: '7d50e9c89e7ef2dcfd18f8bfe7d5eb4afa91d700', href: '/users/brtnfld/repos/hdf5_msb/commits/7d50e9c89e7ef2dcfd18f8bfe7d5eb4afa91d700',parents: [{ id: '78fac0241a588668fed0c8b4cde9a874c44f2d3e' }]},{id: '78fac0241a588668fed0c8b4cde9a874c44f2d3e', href: '/users/brtnfld/repos/hdf5_msb/commits/78fac0241a588668fed0c8b4cde9a874c44f2d3e',parents: [{ id: '0135ec8d61ab11cce5b9d622c906a59806a7cd18' }]},{id: '0135ec8d61ab11cce5b9d622c906a59806a7cd18', href: '/users/brtnfld/repos/hdf5_msb/commits/0135ec8d61ab11cce5b9d622c906a59806a7cd18',parents: [{ id: '14a8543c7a88f835e3b0633637cd427447cabc85' }]},{id: '14a8543c7a88f835e3b0633637cd427447cabc85', href: '/users/brtnfld/repos/hdf5_msb/commits/14a8543c7a88f835e3b0633637cd427447cabc85',parents: [{ id: '8ccff19e02c9c342f76a2e5a0a539cba983eaa3d' }]},{id: '8ccff19e02c9c342f76a2e5a0a539cba983eaa3d', href: '/users/brtnfld/repos/hdf5_msb/commits/8ccff19e02c9c342f76a2e5a0a539cba983eaa3d',parents: [{ id: 'ad8460cc16666267fdece9f75cba6d9732f1f46b' }]},{id: 'ad8460cc16666267fdece9f75cba6d9732f1f46b', href: '/users/brtnfld/repos/hdf5_msb/commits/ad8460cc16666267fdece9f75cba6d9732f1f46b',parents: [{ id: 'e7b2095809f1711b0b08a9cbb46cbd058d3d3297' }]},{id: 'e7b2095809f1711b0b08a9cbb46cbd058d3d3297', href: '/users/brtnfld/repos/hdf5_msb/commits/e7b2095809f1711b0b08a9cbb46cbd058d3d3297',parents: [{ id: '85f5bfb3b7e1e65db39067d5ff7d4fb3462d484c' }]},{id: '85f5bfb3b7e1e65db39067d5ff7d4fb3462d484c', href: '/users/brtnfld/repos/hdf5_msb/commits/85f5bfb3b7e1e65db39067d5ff7d4fb3462d484c',parents: [{ id: 'cb5e1ead29a66dcfdb7bee6e65ed76a9a93a3f9b' }]},{id: 'cb5e1ead29a66dcfdb7bee6e65ed76a9a93a3f9b', href: '/users/brtnfld/repos/hdf5_msb/commits/cb5e1ead29a66dcfdb7bee6e65ed76a9a93a3f9b',parents: [{ id: '51b8fa3ffefc17309ec45b36fa155486f9fbfec2' }]},{id: '51b8fa3ffefc17309ec45b36fa155486f9fbfec2', href: '/users/brtnfld/repos/hdf5_msb/commits/51b8fa3ffefc17309ec45b36fa155486f9fbfec2',parents: [{ id: '52f8d8a1b1577d5053fa79662ab5eafd410a329e' }]},{id: '52f8d8a1b1577d5053fa79662ab5eafd410a329e', href: '/users/brtnfld/repos/hdf5_msb/commits/52f8d8a1b1577d5053fa79662ab5eafd410a329e',parents: [{ id: 'a4a2dd2cc070060d2ccc8b7060f90c2839d8fa71' }]},{id: 'a4a2dd2cc070060d2ccc8b7060f90c2839d8fa71', href: '/users/brtnfld/repos/hdf5_msb/commits/a4a2dd2cc070060d2ccc8b7060f90c2839d8fa71',parents: [{ id: 'b6b43e6dc4d720c5f356007e3f899333b3c24177' }]},{id: 'b6b43e6dc4d720c5f356007e3f899333b3c24177', href: '/users/brtnfld/repos/hdf5_msb/commits/b6b43e6dc4d720c5f356007e3f899333b3c24177',parents: [{ id: 'cca961774276e67086d771877a6d6c5d6a498077' }]},{id: 'cca961774276e67086d771877a6d6c5d6a498077', href: '/users/brtnfld/repos/hdf5_msb/commits/cca961774276e67086d771877a6d6c5d6a498077',parents: [{ id: 'f7b44e40c551141c4b929d816f7fd66f4af7a75d' }]},{id: 'f7b44e40c551141c4b929d816f7fd66f4af7a75d', href: '/users/brtnfld/repos/hdf5_msb/commits/f7b44e40c551141c4b929d816f7fd66f4af7a75d',parents: [{ id: '5d949764230dcc231e68b2d360c1da725c419c04' }]},{id: '5d949764230dcc231e68b2d360c1da725c419c04', href: '/users/brtnfld/repos/hdf5_msb/commits/5d949764230dcc231e68b2d360c1da725c419c04',parents: [{ id: '705f52d2228875defeadf4b3f04f1e313ad655e4' }]},{id: '705f52d2228875defeadf4b3f04f1e313ad655e4', href: '/users/brtnfld/repos/hdf5_msb/commits/705f52d2228875defeadf4b3f04f1e313ad655e4',parents: [{ id: '3d51febb376ef95fdaa34c9334003f4e85ff2a21' }]},{id: '3d51febb376ef95fdaa34c9334003f4e85ff2a21', href: '/users/brtnfld/repos/hdf5_msb/commits/3d51febb376ef95fdaa34c9334003f4e85ff2a21',parents: [{ id: 'ae351c237637c4d32dd7f719978c0f406c16b13a' }]},{id: 'ae351c237637c4d32dd7f719978c0f406c16b13a', href: '/users/brtnfld/repos/hdf5_msb/commits/ae351c237637c4d32dd7f719978c0f406c16b13a',parents: [{ id: '9e81f0103cdd862140fe66fabadf2107deb93152' }]},{id: '9e81f0103cdd862140fe66fabadf2107deb93152', href: '/users/brtnfld/repos/hdf5_msb/commits/9e81f0103cdd862140fe66fabadf2107deb93152',parents: [{ id: '9592b80913e775322b0308702b5776ee8d70b7cf' }]},{id: '9592b80913e775322b0308702b5776ee8d70b7cf', href: '/users/brtnfld/repos/hdf5_msb/commits/9592b80913e775322b0308702b5776ee8d70b7cf',parents: [{ id: '8cc8d63d5e70c9c93fae6ca0da3a85fbf95cccea' }]},{id: '8cc8d63d5e70c9c93fae6ca0da3a85fbf95cccea', href: '/users/brtnfld/repos/hdf5_msb/commits/8cc8d63d5e70c9c93fae6ca0da3a85fbf95cccea',parents: [{ id: '4e4c1c385083112352a66dd1a128f6863d77499f' }]},{id: '4e4c1c385083112352a66dd1a128f6863d77499f', href: '/users/brtnfld/repos/hdf5_msb/commits/4e4c1c385083112352a66dd1a128f6863d77499f',parents: [{ id: 'ecea500047a1b55d0da59a01dc8ad64b5757f602' }]},{id: 'ecea500047a1b55d0da59a01dc8ad64b5757f602', href: '/users/brtnfld/repos/hdf5_msb/commits/ecea500047a1b55d0da59a01dc8ad64b5757f602',parents: [{ id: '3f2e3659c2069a466aae11266b789c72fe76d8a5' }]},{id: '3f2e3659c2069a466aae11266b789c72fe76d8a5', href: '/users/brtnfld/repos/hdf5_msb/commits/3f2e3659c2069a466aae11266b789c72fe76d8a5',parents: [{ id: '1818420acd49b7f7954e67b977be460d429837bd' }]}]);