Author Commit Message Commit Date David Young bffc9124987 Don't use the __ prefix for attributes __unused and such, since that's reserved
for the system software, IIUC, and it clashes with a symbol on CentOS.
Instead, use a _ prefix. 24 Feb 2020 David Young 855a98c7d80 Improve some comments: fix typos, shorten. 19 Feb 2020 David Young 2e4d4d6b1c5 Add a log outlet for shadow-index enlargement and use it instead of
mysteriously printing "ding ding!" when the shadow index is enlarged.
While I'm here, place the new index into place regardless of whether we succeed
at the deferred free of the old index's shadow-file space. 18 Feb 2020 David Young 5c8f5de2714 Delete an out-of-date comment. 18 Feb 2020 David Young b5779f785aa In process_deferred_frees(), remove *all* deferred frees from the
H5F_shared_t's queue before processing any, instead of removing just one,
processing it, removing another, processing it, and so on. While we processed
the first entry on the queue, we often called H5MF_xfree() again, which called
process_deferred_frees() again, which processed the first entry, calling
H5MF_xfree() again, and on and on, until the deferred frees list was exhausted.
This deep recursion showed up as a wide, tall ... 18 Feb 2020 David Young f32caf82dc8 Don't perform superfluous casts. 18 Feb 2020 David Young 9745f5fca2e Trim excess detail. Use shadow/lower file terminology. Be less wordy about
"page or multi-page entry." 18 Feb 2020 David Young 2709d9c2472 Share latest changes: change many occurrences of "metadata" file/index/header
to "shadow" file/index/header. Simplify the description of freespace
management. Finish describing the floating shadow index. 12 Feb 2020 David Young e8fda09d429 Share my latest RFC changes. 12 Feb 2020 David Young 010cfe04194 Let us provide a default state to HLOG_OUTLET_MEDIUM_DEFN(). 12 Feb 2020 David Young c949649f7af Add a new log outlet for individual deferred shadow frees and use it.
Rename a variable that tells whether or not we started with an empty
deferred-free list, and take care not to set it excessively. 12 Feb 2020 David Young 3eed28e4849 Delete misleading "Programmer:" field and excessive decoration from the
H5FD_vfd_swmr_write() comment header. Delete a superfluous comment. Delete
some whitespace at EOL. NFCI. 12 Feb 2020 David Young b352f2e425e Record the state of a log outlet on first use and reuse that state on
subsequent hlog_fast() calls.
While I'm here, add a typedef, hlog_outlet_t, for struct hlog_outlet, and use
it. 11 Feb 2020 David Young e54c3e7c7f9 Whitespace repair. NFCI. 11 Feb 2020 David Young 328d785664d Make a typedef for enum hlog_outlet_state, hlog_outlet_state_t, and use it.
NFCI. 11 Feb 2020 David Young 058deb283de Don't declare a bunch of undefined log outlets. 11 Feb 2020 David Young c5c8606abb7 Share my latest changes to the RFC. 11 Feb 2020 David Young 57bd7e887c1 Add latest commentary on RFC. 10 Feb 2020 David Young 237051a1eab Call them log "outlets" not log "sinks". 10 Feb 2020 David Young a577b5c07f8 Rename loglib_ / LOGLIB_ to hlog_ / HLOG_, remove the syslog-based
implementation, rename hlog_log() to hlog(), hlog_vlog() to vhlog(), et cetera.
Rename hlog_lazy() to hlog_fast().
Define some log sinks and use them in the page buffer and in VFD SWMR. 10 Feb 2020 David Young 1c2c7ef100f Rename log.c to hlog.c, add hlog.[ch] to MANIFEST. 07 Feb 2020 David Young feffcf54b0a Add my logging library in existing form. Abbreviate copyright notices in the
sources but put the full notices & license terms in COPYING. 06 Feb 2020 David Young b101dfd2230 Update punch list a bit: mention the over-long postponement of shadow-index
reclamation. Mention that a writer can delete an object out from under a
reader who holds an hid_t for it. 06 Feb 2020 David Young 27eba960af4 Escape some underscores. I'm not sure if this is strictly necessary, but vim's
syntax highlighting colors some (but not all) unescaped underscores red like
there is some problem. It's possible there is some problem, since underscores
are used to indicate some kind of emphasis---probably underlining. 06 Feb 2020 David Young 1aeccfc4e19 In a comment, mention that reclamation of shadow indices is postponed for
longer than it needs to be. NFCI. 06 Feb 2020 David Young 384c5d957d2 Extract a routine from shadow_image_defer_free(), shadow_range_defer_free(),
that works in byte offsets rather than page offsets. Use
shadow_range_defer_free() to defer shadow-index frees. 06 Feb 2020 David Young b129240b987 Avoid going back and forth between signed and unsigned in the same expression
with some casts and an unsigned constant. This quiets GCC warnings, especially
-Wconversion, IIRC. 06 Feb 2020 David Young 8fea06ae4b8 Fix a typo in a comment and delete whitespace at EOL. 06 Feb 2020 David Young 421bbc7ed00 Use an early exit to lower a staircase. 05 Feb 2020 David Young 42ab415225d Reduce code duplication by using vfd_swmr_pageno_to_mdf_idx_entry() to look up
shadow pages. Reduce casts by choosing correct format strings and compatible
variable types.
Poison writes to addr by making it const. Don't increase addr in the read(2)
loop because it's never used afterward.
Delete some more dead code.
Rename read_ptr as p and declare it much closer to its use. Change its type to
`char *` so that no casts are necessary to increase it. 05 Feb 2020 David Young 55331bae324 Delete unused code. 05 Feb 2020 David Young d1eb990f54e Delete the hdf5_page_offset member of shadow_defree_t, it is initialized but
never read. 05 Feb 2020 David Young dc820d16952 Fix a typo in a diagnostic printf and, while I'm here, use the right format
strings. 05 Feb 2020 David Young cdc5546eee0 Use proper format string. 05 Feb 2020 David Young 3d15aff04a2 Make H5FD_vfd_swmr_dump_status() take an unsigned page number to be consistent
with other code. 04 Feb 2020 David Young 5ff0acf2fb5 Quiet some warnings about jumping over variable initialization,
an improper format string, etc. NFCI. 04 Feb 2020 David Young 9d291f36a3e Rename the deferred-free queues. There are two of them, and the names I used
for them did not help me keep track of what they were for.
For brevity, I will call a deferred free record a "defree" in the code.
The deferred_free_queue_t becomes a lower_defree_queue_t, and each record on
the queue becomes a lower_defree_t. A lower_defree_t tracks one deferred free
on the lower VFD---that is, the one under the SWMR VFD.
The old_image_queue_t becomes a shadow_defree_queue_t, and a record there... 04 Feb 2020 David Young 8d9726176d1 Move the bsdqueue.h #inclusion up with the other #inclusions. 04 Feb 2020 Mike Folk 330118e222a Update VFD_SWMR_Punch_List.md 06 Feb 2020 Mike Folk d0e03701c9d Update VFD_SWMR_Punch_List.md 04 Feb 2020 David Young e121c5acc91 NFCI: exit(EXIT_FAILURE) instead of exit(1) for portability.
Delete a comment on a closing curly brace. 03 Feb 2020 David Young d7ebb66cc42 It's not necessary to assert(p != NULL) if you're dereferencing p in the next
assertion. 03 Feb 2020 David Young d89b1b9b524 Numerous changes supporting a floating shadow index:
Add to the H5F_shared_t (!) a new member that tells the index in
the shadow file where the index should be written.
Allocate shadow filespace for the header and the index separately so
that the index can float. Update tests to match the expected original
location of the index.
Introduce vfd_swmr_enlarge_shadow_index(), a routine that allocates space in
the shadow file for a new index that has (up to) twice as many entries as the
old ind... 03 Feb 2020 David Young dec1ea142a4 Make the first argument to H5PB_vfd_swmr__update_index() and H5F_t instead of
an H5F_shared_t because the new routine that will relocate the index (which
will be in a future commit) has to pass an H5F_t to the filespace allocator. 03 Feb 2020 David Young 891f4f84ba6 Use FAIL_STACK_ERROR instead of TEST_ERROR after library calls, so that the
error stack will be reported.
Use calloc instead of malloc+memset. 03 Feb 2020 David Young 2dba3db496b Consolidate shadow-file allocation code in H5MV.c. 30 Jan 2020 David Young a144a1f5e51 Remove some dead code and out-of-date comments. 30 Jan 2020 David Young c0549febed8 Repair indentation and delete some superfluous comments. NFCI. 30 Jan 2020 David Young 236180bb9dc Fix typo. NFCI. 30 Jan 2020 David Young 2651dd213fb Use fewer gratuitous casts. Use struct assignment instead of member-by-member
assignment to copy `struct timespec`. NFCI. 28 Jan 2020 ← Prev Next → require('plugin/commitgraph/network').applyCommits([{id: 'bffc912498795ae4ded560f3e718110e16080b40', href: '/users/dyoung/repos/vchoi_fork/commits/bffc912498795ae4ded560f3e718110e16080b40',parents: [{ id: '855a98c7d80db8c68f2f557d1610fc8af50e3a68' }]},{id: '855a98c7d80db8c68f2f557d1610fc8af50e3a68', href: '/users/dyoung/repos/vchoi_fork/commits/855a98c7d80db8c68f2f557d1610fc8af50e3a68',parents: [{ id: '2e4d4d6b1c52011acbccbae1857481b759f54d53' }]},{id: '2e4d4d6b1c52011acbccbae1857481b759f54d53', href: '/users/dyoung/repos/vchoi_fork/commits/2e4d4d6b1c52011acbccbae1857481b759f54d53',parents: [{ id: '5c8f5de2714df4b7f38a16c21d4df9d399eaee74' }]},{id: '5c8f5de2714df4b7f38a16c21d4df9d399eaee74', href: '/users/dyoung/repos/vchoi_fork/commits/5c8f5de2714df4b7f38a16c21d4df9d399eaee74',parents: [{ id: 'b5779f785aa0f606c7365bf026aed3e71d0d5b64' }]},{id: 'b5779f785aa0f606c7365bf026aed3e71d0d5b64', href: '/users/dyoung/repos/vchoi_fork/commits/b5779f785aa0f606c7365bf026aed3e71d0d5b64',parents: [{ id: 'f32caf82dc8fed7e3ec5e74709d4a7336286ee3e' }]},{id: 'f32caf82dc8fed7e3ec5e74709d4a7336286ee3e', href: '/users/dyoung/repos/vchoi_fork/commits/f32caf82dc8fed7e3ec5e74709d4a7336286ee3e',parents: [{ id: '9745f5fca2ec05532312db4bc9e33ac7a77d8ce2' }]},{id: '9745f5fca2ec05532312db4bc9e33ac7a77d8ce2', href: '/users/dyoung/repos/vchoi_fork/commits/9745f5fca2ec05532312db4bc9e33ac7a77d8ce2',parents: [{ id: '2709d9c247214faca39878956311b1c09fac8412' }]},{id: '2709d9c247214faca39878956311b1c09fac8412', href: '/users/dyoung/repos/vchoi_fork/commits/2709d9c247214faca39878956311b1c09fac8412',parents: [{ id: 'e8fda09d4299df452c06183e655ca9b50b4e5e29' }]},{id: 'e8fda09d4299df452c06183e655ca9b50b4e5e29', href: '/users/dyoung/repos/vchoi_fork/commits/e8fda09d4299df452c06183e655ca9b50b4e5e29',parents: [{ id: '010cfe04194cbc2c4e5b54351848457b044ec447' }]},{id: '010cfe04194cbc2c4e5b54351848457b044ec447', href: '/users/dyoung/repos/vchoi_fork/commits/010cfe04194cbc2c4e5b54351848457b044ec447',parents: [{ id: 'c949649f7affb16ff5efc07eed09d39830cdba7f' }]},{id: 'c949649f7affb16ff5efc07eed09d39830cdba7f', href: '/users/dyoung/repos/vchoi_fork/commits/c949649f7affb16ff5efc07eed09d39830cdba7f',parents: [{ id: '3eed28e4849accca2dda69fbadc47cd34ffe3278' }]},{id: '3eed28e4849accca2dda69fbadc47cd34ffe3278', href: '/users/dyoung/repos/vchoi_fork/commits/3eed28e4849accca2dda69fbadc47cd34ffe3278',parents: [{ id: 'b352f2e425e07ff07ae550026e13fff7638d8a2a' }]},{id: 'b352f2e425e07ff07ae550026e13fff7638d8a2a', href: '/users/dyoung/repos/vchoi_fork/commits/b352f2e425e07ff07ae550026e13fff7638d8a2a',parents: [{ id: 'e54c3e7c7f96c384fae7519e071820fdf5c8a0bc' }]},{id: 'e54c3e7c7f96c384fae7519e071820fdf5c8a0bc', href: '/users/dyoung/repos/vchoi_fork/commits/e54c3e7c7f96c384fae7519e071820fdf5c8a0bc',parents: [{ id: '328d785664d60e8628dc46f5e39f150390a26d7f' }]},{id: '328d785664d60e8628dc46f5e39f150390a26d7f', href: '/users/dyoung/repos/vchoi_fork/commits/328d785664d60e8628dc46f5e39f150390a26d7f',parents: [{ id: '058deb283dee7fe9a1ba06ab90669eba7cd80587' }]},{id: '058deb283dee7fe9a1ba06ab90669eba7cd80587', href: '/users/dyoung/repos/vchoi_fork/commits/058deb283dee7fe9a1ba06ab90669eba7cd80587',parents: [{ id: 'c5c8606abb7d6f3ebc0c173e5c297bfc5765ccc3' }]},{id: 'c5c8606abb7d6f3ebc0c173e5c297bfc5765ccc3', href: '/users/dyoung/repos/vchoi_fork/commits/c5c8606abb7d6f3ebc0c173e5c297bfc5765ccc3',parents: [{ id: '57bd7e887c140bbedf97daa7cf6649f9f5bd082f' }]},{id: '57bd7e887c140bbedf97daa7cf6649f9f5bd082f', href: '/users/dyoung/repos/vchoi_fork/commits/57bd7e887c140bbedf97daa7cf6649f9f5bd082f',parents: [{ id: '237051a1eab4e367ecbbf03fc796a2e7e362aa6e' }]},{id: '237051a1eab4e367ecbbf03fc796a2e7e362aa6e', href: '/users/dyoung/repos/vchoi_fork/commits/237051a1eab4e367ecbbf03fc796a2e7e362aa6e',parents: [{ id: 'a577b5c07f8377b950b64c7475251f59b1f0ede2' }]},{id: 'a577b5c07f8377b950b64c7475251f59b1f0ede2', href: '/users/dyoung/repos/vchoi_fork/commits/a577b5c07f8377b950b64c7475251f59b1f0ede2',parents: [{ id: '1c2c7ef100f5ff49cce756c5b923039d8e7cfdd2' }]},{id: '1c2c7ef100f5ff49cce756c5b923039d8e7cfdd2', href: '/users/dyoung/repos/vchoi_fork/commits/1c2c7ef100f5ff49cce756c5b923039d8e7cfdd2',parents: [{ id: 'feffcf54b0aa33600b2666d4b13ab55a550225cc' }]},{id: 'feffcf54b0aa33600b2666d4b13ab55a550225cc', href: '/users/dyoung/repos/vchoi_fork/commits/feffcf54b0aa33600b2666d4b13ab55a550225cc',parents: [{ id: 'b101dfd223077b4a50db0f7c231d0e04e2940133' }]},{id: 'b101dfd223077b4a50db0f7c231d0e04e2940133', href: '/users/dyoung/repos/vchoi_fork/commits/b101dfd223077b4a50db0f7c231d0e04e2940133',parents: [{ id: '27eba960af4ba2fbf977218267ab249a9b226804' }]},{id: '27eba960af4ba2fbf977218267ab249a9b226804', href: '/users/dyoung/repos/vchoi_fork/commits/27eba960af4ba2fbf977218267ab249a9b226804',parents: [{ id: '1aeccfc4e19f710bc7a933b536d768adfd3618e1' }]},{id: '1aeccfc4e19f710bc7a933b536d768adfd3618e1', href: '/users/dyoung/repos/vchoi_fork/commits/1aeccfc4e19f710bc7a933b536d768adfd3618e1',parents: [{ id: '384c5d957d2e84df2566b14feb0a17fc7bde72cf' }]},{id: '384c5d957d2e84df2566b14feb0a17fc7bde72cf', href: '/users/dyoung/repos/vchoi_fork/commits/384c5d957d2e84df2566b14feb0a17fc7bde72cf',parents: [{ id: 'b129240b9876d44e7478b027f450e2452e39068c' }]},{id: 'b129240b9876d44e7478b027f450e2452e39068c', href: '/users/dyoung/repos/vchoi_fork/commits/b129240b9876d44e7478b027f450e2452e39068c',parents: [{ id: '8fea06ae4b86999ce40f662016a4adc262f3e860' }]},{id: '8fea06ae4b86999ce40f662016a4adc262f3e860', href: '/users/dyoung/repos/vchoi_fork/commits/8fea06ae4b86999ce40f662016a4adc262f3e860',parents: [{ id: '421bbc7ed00ec8cf805c493f02b95f94bd2a2e17' }]},{id: '421bbc7ed00ec8cf805c493f02b95f94bd2a2e17', href: '/users/dyoung/repos/vchoi_fork/commits/421bbc7ed00ec8cf805c493f02b95f94bd2a2e17',parents: [{ id: '42ab415225de2044228ce4b1c9a98b4770f1a3eb' }]},{id: '42ab415225de2044228ce4b1c9a98b4770f1a3eb', href: '/users/dyoung/repos/vchoi_fork/commits/42ab415225de2044228ce4b1c9a98b4770f1a3eb',parents: [{ id: '55331bae324d3a16de10cb46af276b12221d4ae9' }]},{id: '55331bae324d3a16de10cb46af276b12221d4ae9', href: '/users/dyoung/repos/vchoi_fork/commits/55331bae324d3a16de10cb46af276b12221d4ae9',parents: [{ id: 'd1eb990f54eb5bd2312271296043f42529144b5a' }]},{id: 'd1eb990f54eb5bd2312271296043f42529144b5a', href: '/users/dyoung/repos/vchoi_fork/commits/d1eb990f54eb5bd2312271296043f42529144b5a',parents: [{ id: 'dc820d16952c075309289946c55939b8284c5552' }]},{id: 'dc820d16952c075309289946c55939b8284c5552', href: '/users/dyoung/repos/vchoi_fork/commits/dc820d16952c075309289946c55939b8284c5552',parents: [{ id: 'cdc5546eee069d1a7c9c31d4b6b408365e6e6989' }]},{id: 'cdc5546eee069d1a7c9c31d4b6b408365e6e6989', href: '/users/dyoung/repos/vchoi_fork/commits/cdc5546eee069d1a7c9c31d4b6b408365e6e6989',parents: [{ id: '3d15aff04a246c8aeafbffd2c99300dcf991fd13' }]},{id: '3d15aff04a246c8aeafbffd2c99300dcf991fd13', href: '/users/dyoung/repos/vchoi_fork/commits/3d15aff04a246c8aeafbffd2c99300dcf991fd13',parents: [{ id: '5ff0acf2fb57e6b0c097932511d3d0595550bc9b' }]},{id: '5ff0acf2fb57e6b0c097932511d3d0595550bc9b', href: '/users/dyoung/repos/vchoi_fork/commits/5ff0acf2fb57e6b0c097932511d3d0595550bc9b',parents: [{ id: '9d291f36a3e72147317c9971a4c857aa364f1c3e' }]},{id: '9d291f36a3e72147317c9971a4c857aa364f1c3e', href: '/users/dyoung/repos/vchoi_fork/commits/9d291f36a3e72147317c9971a4c857aa364f1c3e',parents: [{ id: '8d9726176d151d65003f0f3ef2018b5b6a80a78c' }]},{id: '8d9726176d151d65003f0f3ef2018b5b6a80a78c', href: '/users/dyoung/repos/vchoi_fork/commits/8d9726176d151d65003f0f3ef2018b5b6a80a78c',parents: [{ id: '330118e222a7833646755b9a704d14c45436eed0' }]},{id: '330118e222a7833646755b9a704d14c45436eed0', href: '/users/dyoung/repos/vchoi_fork/commits/330118e222a7833646755b9a704d14c45436eed0',parents: [{ id: 'd0e03701c9dba90e014d77e457d5fd729948c41e' }]},{id: 'd0e03701c9dba90e014d77e457d5fd729948c41e', href: '/users/dyoung/repos/vchoi_fork/commits/d0e03701c9dba90e014d77e457d5fd729948c41e',parents: [{ id: 'e121c5acc910b5c33ccf254d99810b0b761549da' }]},{id: 'e121c5acc910b5c33ccf254d99810b0b761549da', href: '/users/dyoung/repos/vchoi_fork/commits/e121c5acc910b5c33ccf254d99810b0b761549da',parents: [{ id: 'd7ebb66cc42df3a9d3b93f20488e21896452afbd' }]},{id: 'd7ebb66cc42df3a9d3b93f20488e21896452afbd', href: '/users/dyoung/repos/vchoi_fork/commits/d7ebb66cc42df3a9d3b93f20488e21896452afbd',parents: [{ id: 'd89b1b9b524b6105ef51cdee0d7a715770af18a9' }]},{id: 'd89b1b9b524b6105ef51cdee0d7a715770af18a9', href: '/users/dyoung/repos/vchoi_fork/commits/d89b1b9b524b6105ef51cdee0d7a715770af18a9',parents: [{ id: 'dec1ea142a44d8a85bd78731df37435f574f8a34' }]},{id: 'dec1ea142a44d8a85bd78731df37435f574f8a34', href: '/users/dyoung/repos/vchoi_fork/commits/dec1ea142a44d8a85bd78731df37435f574f8a34',parents: [{ id: '891f4f84ba6b3fa482d965f44be9cf183d0c1624' }]},{id: '891f4f84ba6b3fa482d965f44be9cf183d0c1624', href: '/users/dyoung/repos/vchoi_fork/commits/891f4f84ba6b3fa482d965f44be9cf183d0c1624',parents: [{ id: '2dba3db496bd00b506b9a33b0132a213488e2068' }]},{id: '2dba3db496bd00b506b9a33b0132a213488e2068', href: '/users/dyoung/repos/vchoi_fork/commits/2dba3db496bd00b506b9a33b0132a213488e2068',parents: [{ id: 'a144a1f5e51e371e3f49990c3a69e823c8ea7e4c' }]},{id: 'a144a1f5e51e371e3f49990c3a69e823c8ea7e4c', href: '/users/dyoung/repos/vchoi_fork/commits/a144a1f5e51e371e3f49990c3a69e823c8ea7e4c',parents: [{ id: 'c0549febed8088909a042414b781af712529b2e4' }]},{id: 'c0549febed8088909a042414b781af712529b2e4', href: '/users/dyoung/repos/vchoi_fork/commits/c0549febed8088909a042414b781af712529b2e4',parents: [{ id: '236180bb9dca9e5899f2f65c8f33e0c299ce4547' }]},{id: '236180bb9dca9e5899f2f65c8f33e0c299ce4547', href: '/users/dyoung/repos/vchoi_fork/commits/236180bb9dca9e5899f2f65c8f33e0c299ce4547',parents: [{ id: '2651dd213fb64da5a79e3f9bfa8dbc875d85ed00' }]},{id: '2651dd213fb64da5a79e3f9bfa8dbc875d85ed00', href: '/users/dyoung/repos/vchoi_fork/commits/2651dd213fb64da5a79e3f9bfa8dbc875d85ed00',parents: [{ id: 'd14d6d882b6f94024a3562b2b4a6d75ff590f2a7' }]}]);