Network

 
AuthorCommitMessageCommit Date
David YoungDavid Young
2dd9c3b92fbThe err_compat test relied on some "lines" on the standard output stream to end with whitespace padding rather than newlines. My introduction of variadic TESTING() got rid of the padding. I have straightened this out by newline-terminating the stdout lines in the test program and in its expected out. I also add some newlines to the program's standard error output so that the expected error output still matches.
David YoungDavid Young
c2b841f5139Add NetBSD and Berkeley licenses for `struct timespec` helper macros.
David YoungDavid Young
730b2fbcb26Provide the BSD `struct timespec` arithmetic macro, timespecsub().
David YoungDavid Young
19304abb517Fix an off-by-one error in the retries API that made the test "protect an entry to verify retries" in `test/cache` fail.
David YoungDavid Young
743c9358d14Introduce PRI*HADDR and PRI*HSIZE for printing haddr_t and hsize_t.
David YoungDavid Young
82f647534c3Make some NetBSD compatibility patches.
David YoungDavid Young
09bb031cf19Refactor a bit, remove dead code, move some helper functions to the top of the file, remove unused variables.
David YoungDavid Young
4311b2ef9deFix some comments where "read" was written instead of "write." NFCI.
David YoungDavid Young
b1b98cfafe5F ix off-by-one bug affecting metadata-read retries: retries == tries - 1.
David YoungDavid Young
5025be74eafUse int64_t instead of uint64_t to avoid some warnings about sign conversion.
David YoungDavid Young
20dd9b1372bInitialize `data` and `odata` to NULL like the exit sequences expect. Free `odata`.
David YoungDavid Young
38f3ece57a3Add a test for single-page metadata (SPMDE) writes. Mention in a comment to myself that I need to reduce code duplication with the MPMDE test. In vfd_read_each_equals(), print the correct expected value when there is a discrepancy. No functional change intended: correct a comment in vfd_read_each_equals. Fix indentation in the test_raw_data_handling() header comment.
David YoungDavid Young
de33d5cb3c3Rename the metadata test again to reflect how it's checking the page buffer's treatment of multipage metadata entries (MPMDEs). Mention why an H5PB_flush() is not necessary for MPMDEs to reach visibility at the VFD layer.
David YoungDavid Young
f0596cea653Don't use FILENAME and FILENAME[0] because that looks like worrisome macro magic. Use namebases and namebase, instead. Extract a bunch of copy-and-paste VFD SWMR setup into a new subroutine, swmr_fapl_augment(). Make sure that the metadata reads all-0s until it reads all -1s. Extract a subroutine, vfd_read_each_equals(), that reads and compares a region with one of its arguments. Rename from test_basic_metadata_handling() to test_metadata_delay_basic(), since that gets at what we're testi...
David YoungDavid Young
078db937523Fix a typo: adress -> address.
David YoungDavid Young
8b38c2ab1b4Skip the metadata accumulator and always perform I/O through the VFD, so that writes are not delayed. In H5PB__flush_entry, simplify by eliminating a temporary variable and a constant.
David YoungDavid Young
b5b9a8907e8If a page entry is delayed *until* tick `t`, and tick `t` has arrived, it is eligible to flush *now*, so do that. Don't wait until tick `t + 1`.
David YoungDavid Young
a6b9394e8c2Fix a comment: I don't know what `*pbe_ptr` was. Refer to `page`, since that seems to be the intention. No functional change intended.
David YoungDavid Young
1b63ff60d24Rename local variable `delay_write_until` as `until`. Reduce parenthesization in an `if` condition. Join some lines. No functional change intended.
David YoungDavid Young
2fd118ceaf5Initialize VFD SWMR configuration block to zeroes. I was hopeful that this would fix a bug, but I don't think it had any effect. Still, a necessary change.
David YoungDavid Young
a68c2c92c3cOops, straggler from last: rename the nanosecond constants. While I am here, delete dead code.
David YoungDavid Young
e4f9e45399fSECOND_TO_NANOSECS is the name of a function, not a constant. Rename to nanosecs_per_second. Ditto for the tenth-second constant.
David YoungDavid Young
35c049d6a4aWrite test data from a different buffer than we read into, since I anticipate comparing the written buffer with the read buffer. Don't initialize variables prematurely so that the compiler has a chance to warn about variables read before they are written. Repeatedly flush the page buffer, once each time we end the tick. Write errors to stdout instead of stderr.
David YoungDavid Young
bddf3ff6a53In H5PB_flush(), skip a page-buffer entry if its write is delayed.
David YoungDavid Young
4d12df1d218Commit to the clock_gettime() versions of VFD SWMR and delete the gettimeofday() alternate. Perform nanoseconds arithmetic using uint64_t instead of long to avoid unwanted overflows on 32-bit systems like my i386 (!) development box.
David YoungDavid Young
06806a27655Add to the page buffer a local printf-like debug function that I can turn on and off. Use it here and there.
David YoungDavid Young
bd0c625e380Clean up excessive casting and parenthesization. No functional change intended.
David YoungDavid Young
de2edbb2380Add a basic metadata test for VFD SWMR page buffering. Currently the test fails.... Make some comments more true to reality and fix a couple of typos.
David YoungDavid Young
a8ebf7c5413Tell the compiler that h5_testing() is a printf-like function.
David YoungDavid Young
d4ecff83190Fix some incorrect format strings.
David YoungDavid Young
0880c57d13eStraggler from last commit: make TESTING() take printf-like varargs arguments.
David YoungDavid Young
b4746506450Don't calloc() the VFD SWMR configuration, just use a local variable. Combine the VFD SWMR and non-VFD SWMR raw-data test into one routine that takes a bool parameter to switch on VFD SMWR. Update my description of the to-be-written metadata test for VFD SWMR.
David YoungDavid Young
57cfb035adaDelete end-of-block comments, they're uninformative and they make the page busy.
David YoungDavid Young
89d3461a00eRevise a warning puts() to be more hopeful about VFD SWMR and multi/split compatibility.
David YoungDavid Young
752fb97ef32Don't set up raw-data pages for delayed writes. This prevents an assertion from firing: "entry_ptr->delay_write_until == 0" failed: file "../../../vchoi_fork/src/H5PB.c", line 4093, function "H5PB__write_raw" In a comment, mention a change that has to be made to accommodate parallel mode.
David YoungDavid Young
71499c852b0Unse TEST_ERROR instead of the return statement I copied & pasted, oops. Use a (more) accurate name for the VFD SWMR test routine. Mention that VFD SWMR isn't expected to work with multi/split VFDs, yet.
David YoungDavid Young
9cb455ca871Add the zygote of VFD SWMR-mode page-buffer tests.
David YoungDavid Young
d001d0ec27bUse calloc instead of malloc so that the VFD SWMR configuration is initialized to default values.
David YoungDavid Young
73e07e25736Make whitespace consistent: no leading tabs!
David YoungDavid Young
f16d86d3e74Update function documentation. NFCI.
David YoungDavid Young
2cb57cb9265Enable h5ls to use VFD SWMR.
David YoungDavid Young
1f4dd5692d1Use h5_retry_init/_next to retry loading the SWMR shadow file.
David YoungDavid Young
0a81436fab1Convert several warnings about const to non-const conversion at H5Tcopy() invocations to one warning in the H5Tcopy() implementation.
David YoungDavid Young
faf3336f522Quiet compiler warnings about signedness by changing a signed integer to an unsigned one.
David YoungDavid Young
93352e65eaeIgnore vim swap files and ctags files.
David YoungDavid Young
70152bbd6ceReplace a missing curly brace.
David YoungDavid Young
9e2d4344de7Merge the latest h5_retry_t code from my `sleepy` branch.
David YoungDavid Young
508cfab552dTand the he VFD SWMR test script used `| tee` to redirect test programs' output, then it tested $? for an error exit. $? told the error status of `tee`, though, not the test programs! So no test failures were counted, even when some tests clearly failed. I changed the test script to use a shell subroutine, `catch_out_err_and_rc`, to catch test programs' output and result code.
David YoungDavid Young
e178ab0e11aConsolidate VFD SWMR variable declarations in a new header file, H5FDvfd_swmr_private.h. Perform tick processing in FUNC_ENTER_API_NOCLEAR, where it was missing. Track the number of times the HDF5 library has been entered/exited through its public API. Only perform tick processing on the first entry and last exit. This stops us from performing tick processing in API calls invoked by application callbacks. Performing tick processing in nested API calls led to crashes. Note well: FUNC_LEAV...
dyoungdyoung
1f728439ddfIn the error message, provide specific information that will help the developer fix the error.