Network

 
AuthorCommitMessageCommit Date
David YoungDavid Young
bffc9124987Don'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.
David YoungDavid Young
855a98c7d80Improve some comments: fix typos, shorten.
David YoungDavid Young
2e4d4d6b1c5Add 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.
David YoungDavid Young
5c8f5de2714Delete an out-of-date comment.
David YoungDavid Young
b5779f785aaIn 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 ...
David YoungDavid Young
f32caf82dc8Don't perform superfluous casts.
David YoungDavid Young
9745f5fca2eTrim excess detail. Use shadow/lower file terminology. Be less wordy about "page or multi-page entry."
David YoungDavid Young
2709d9c2472Share 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.
David YoungDavid Young
e8fda09d429Share my latest RFC changes.
David YoungDavid Young
010cfe04194Let us provide a default state to HLOG_OUTLET_MEDIUM_DEFN().
David YoungDavid Young
c949649f7afAdd 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.
David YoungDavid Young
3eed28e4849Delete misleading "Programmer:" field and excessive decoration from the H5FD_vfd_swmr_write() comment header. Delete a superfluous comment. Delete some whitespace at EOL. NFCI.
David YoungDavid Young
b352f2e425eRecord 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.
David YoungDavid Young
e54c3e7c7f9Whitespace repair. NFCI.
David YoungDavid Young
328d785664dMake a typedef for enum hlog_outlet_state, hlog_outlet_state_t, and use it. NFCI.
David YoungDavid Young
058deb283deDon't declare a bunch of undefined log outlets.
David YoungDavid Young
c5c8606abb7Share my latest changes to the RFC.
David YoungDavid Young
57bd7e887c1Add latest commentary on RFC.
David YoungDavid Young
237051a1eabCall them log "outlets" not log "sinks".
David YoungDavid Young
a577b5c07f8Rename 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.
David YoungDavid Young
1c2c7ef100fRename log.c to hlog.c, add hlog.[ch] to MANIFEST.
David YoungDavid Young
feffcf54b0aAdd my logging library in existing form. Abbreviate copyright notices in the sources but put the full notices & license terms in COPYING.
David YoungDavid Young
b101dfd2230Update 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.
David YoungDavid Young
27eba960af4Escape 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.
David YoungDavid Young
1aeccfc4e19In a comment, mention that reclamation of shadow indices is postponed for longer than it needs to be. NFCI.
David YoungDavid Young
384c5d957d2Extract 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.
David YoungDavid Young
b129240b987Avoid 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.
David YoungDavid Young
8fea06ae4b8Fix a typo in a comment and delete whitespace at EOL.
David YoungDavid Young
421bbc7ed00Use an early exit to lower a staircase.
David YoungDavid Young
42ab415225dReduce 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.
David YoungDavid Young
55331bae324Delete unused code.
David YoungDavid Young
d1eb990f54eDelete the hdf5_page_offset member of shadow_defree_t, it is initialized but never read.
David YoungDavid Young
dc820d16952Fix a typo in a diagnostic printf and, while I'm here, use the right format strings.
David YoungDavid Young
cdc5546eee0Use proper format string.
David YoungDavid Young
3d15aff04a2Make H5FD_vfd_swmr_dump_status() take an unsigned page number to be consistent with other code.
David YoungDavid Young
5ff0acf2fb5Quiet some warnings about jumping over variable initialization, an improper format string, etc. NFCI.
David YoungDavid Young
9d291f36a3eRename 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...
David YoungDavid Young
8d9726176d1Move the bsdqueue.h #inclusion up with the other #inclusions.
Mike FolkMike Folk
330118e222aUpdate VFD_SWMR_Punch_List.md
Mike FolkMike Folk
d0e03701c9dUpdate VFD_SWMR_Punch_List.md
David YoungDavid Young
e121c5acc91NFCI: exit(EXIT_FAILURE) instead of exit(1) for portability. Delete a comment on a closing curly brace.
David YoungDavid Young
d7ebb66cc42It's not necessary to assert(p != NULL) if you're dereferencing p in the next assertion.
David YoungDavid Young
d89b1b9b524Numerous 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...
David YoungDavid Young
dec1ea142a4Make 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.
David YoungDavid Young
891f4f84ba6Use FAIL_STACK_ERROR instead of TEST_ERROR after library calls, so that the error stack will be reported. Use calloc instead of malloc+memset.
David YoungDavid Young
2dba3db496bConsolidate shadow-file allocation code in H5MV.c.
David YoungDavid Young
a144a1f5e51Remove some dead code and out-of-date comments.
David YoungDavid Young
c0549febed8Repair indentation and delete some superfluous comments. NFCI.
David YoungDavid Young
236180bb9dcFix typo. NFCI.
David YoungDavid Young
2651dd213fbUse fewer gratuitous casts. Use struct assignment instead of member-by-member assignment to copy `struct timespec`. NFCI.