summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make some NetBSD compatibility patches.David Young2019-10-0329-40/+162
|
* Refactor a bit, remove dead code, move some helper functions to the topDavid Young2019-10-021-261/+355
| | | | of the file, remove unused variables.
* Fix some comments where "read" was written instead of "write." NFCI.David Young2019-10-021-7/+7
|
* F ix off-by-one bug affecting metadata-read retries: retries == tries - 1.David Young2019-10-022-6/+6
|
* Use int64_t instead of uint64_t to avoid some warnings about signDavid Young2019-09-301-4/+4
| | | | conversion.
* Initialize `data` and `odata` to NULL like the exit sequencesDavid Young2019-09-301-2/+6
| | | | expect. Free `odata`.
* Add a test for single-page metadata (SPMDE) writes. Mention in aDavid Young2019-09-301-10/+150
| | | | | | | | | | | | 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.
* Rename the metadata test again to reflect how it's checking the pageDavid Young2019-09-271-13/+28
| | | | | | 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.
* Don't use FILENAME and FILENAME[0] because that looks like worrisomeDavid Young2019-09-271-83/+83
| | | | | | | | | | | | | | | | | | 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 testing better. Don't perform an H5PB_flush(), it's not necessary for this test because H5Fvfd_swmr_end_tick() has done essentially the same thing.
* Fix a typo: adress -> address.David Young2019-09-271-1/+1
|
* Skip the metadata accumulator and always perform I/O through the VFD, soDavid Young2019-09-261-61/+6
| | | | | | | that writes are not delayed. In H5PB__flush_entry, simplify by eliminating a temporary variable and a constant.
* If a page entry is delayed *until* tick `t`, and tick `t` has arrived,David Young2019-09-261-3/+2
| | | | | it is eligible to flush *now*, so do that. Don't wait until tick `t + 1`.
* Fix a comment: I don't know what `*pbe_ptr` was. Refer to `page`, sinceDavid Young2019-09-261-1/+1
| | | | that seems to be the intention. No functional change intended.
* Rename local variable `delay_write_until` as `until`. ReduceDavid Young2019-09-261-11/+7
| | | | | parenthesization in an `if` condition. Join some lines. No functional change intended.
* Initialize VFD SWMR configuration block to zeroes. I was hopeful thatDavid Young2019-09-261-0/+2
| | | | | this would fix a bug, but I don't think it had any effect. Still, a necessary change.
* Oops, straggler from last: rename the nanosecond constants. While I amDavid Young2019-09-261-6/+2
| | | | here, delete dead code.
* SECOND_TO_NANOSECS is the name of a function, not a constant. Rename toDavid Young2019-09-261-8/+8
| | | | nanosecs_per_second. Ditto for the tenth-second constant.
* Write test data from a different buffer than we read into, since IDavid Young2019-09-261-13/+16
| | | | | | | | | | | 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.
* In H5PB_flush(), skip a page-buffer entry if its write is delayed.David Young2019-09-261-0/+9
|
* Commit to the clock_gettime() versions of VFD SWMR and delete theDavid Young2019-09-251-76/+4
| | | | | | gettimeofday() alternate. Perform nanoseconds arithmetic using uint64_t instead of long to avoid unwanted overflows on 32-bit systems like my i386 (!) development box.
* Add to the page buffer a local printf-like debug function that I canDavid Young2019-09-251-0/+22
| | | | turn on and off. Use it here and there.
* Clean up excessive casting and parenthesization. No functional changeDavid Young2019-09-241-1/+1
| | | | intended.
* Add a basic metadata test for VFD SWMR page buffering. Currently theDavid Young2019-09-231-5/+310
| | | | | | test fails.... Make some comments more true to reality and fix a couple of typos.
* Tell the compiler that h5_testing() is a printf-like function.David Young2019-09-231-1/+1
|
* Fix some incorrect format strings.David Young2019-09-232-5/+8
|
* Straggler from last commit: make TESTING() take printf-like varargsDavid Young2019-09-232-1/+13
| | | | arguments.
* Don't calloc() the VFD SWMR configuration, just use a local variable.David Young2019-09-231-333/+71
| | | | | | | 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.
* Delete end-of-block comments, they're uninformative and they make the pageDavid Young2019-09-201-18/+18
| | | | busy.
* Revise a warning puts() to be more hopeful about VFD SWMR andDavid Young2019-09-201-1/+1
| | | | multi/split compatibility.
* Don't set up raw-data pages for delayed writes. This preventsDavid Young2019-09-191-0/+4
| | | | | | | | | 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.
* Unse TEST_ERROR instead of the return statement I copied & pasted, oops.David Young2019-09-191-6/+7
| | | | | | 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.
* Add the zygote of VFD SWMR-mode page-buffer tests.David Young2019-09-171-0/+311
|
* Use calloc instead of malloc so that the VFD SWMR configurationDavid Young2019-09-171-1/+1
| | | | is initialized to default values.
* Make whitespace consistent: no leading tabs!David Young2019-09-161-1/+1
|
* Update function documentation. NFCI.David Young2019-09-161-3/+3
|
* Enable h5ls to use VFD SWMR.David Young2019-09-122-31/+133
|
* Use h5_retry_init/_next to retry loading the SWMR shadow file.David Young2019-09-123-10/+15
|
* Convert several warnings about const to non-const conversion at H5Tcopy()David Young2019-09-122-2/+2
| | | | invocations to one warning in the H5Tcopy() implementation.
* Quiet compiler warnings about signedness by changing a signedDavid Young2019-09-121-1/+1
| | | | integer to an unsigned one.
* Ignore vim swap files and ctags files.David Young2019-09-121-0/+6
|
* Replace a missing curly brace.David Young2019-09-101-1/+1
|
* Merge the latest h5_retry_t code from my `sleepy` branch.David Young2019-09-104-20/+132
|
* Tand the he VFD SWMR test script used `| tee` to redirect test programs'David Young2019-08-282-59/+106
| | | | | | | | 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.
* Consolidate VFD SWMR variable declarations in a new header file,David Young2019-08-284-63/+76
| | | | | | | | | | | | | | | 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_LEAVE_API now performs tick processing even on an error exit! Previously, it did not. I'm not sure if the change is ok.
* In the error message, provide specific information that will help thedyoung2019-08-221-1/+1
| | | | developer fix the error.
* Quiet warnings, especially signed/unsigned casts.dyoung2019-08-225-41/+51
|
* Merge branch 'feature/vfd_swmr' of ↵mainzer2019-07-069-280/+490
|\ | | | | | | | | | | https://bitbucket.hdfgroup.org/scm/~vchoi/my_hdf5_fork into feature/vfd_swmr updated to permit a push. Should be no changes in VFD SWMR proper.
| * Modifications to the vfd swmr concurrent tests:Vailin Choi2019-01-319-280/+490
| | | | | | | | | | | | | | | | (1) Increase the # of records to write (Nrecords) in testvfdswmr.sh.in so as to ensure the writer will not exit before the reader (2) Use H5E_BEGIN_TRY/END_TRY when H5Fopen() the test file in reader tests (3) Add "READER" or "WRITER" to debugging messages (4) Misc cleanup
* | Tidied up comments and removed some stats code that is un-reachable.mainzer2019-07-064-33/+29
|/
* Checkin of fixes for a number of bugs in reads to page 0, and in filemainzer2019-01-303-10/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | open in the VFD SWMR reader case. Note that the following failures in testvfdswmr.sh: 1) Unable to find metadata file on VFD SWMR reader open. 2) Occasional sanity check failures in the page buffer on raw data write. 3) Filter failures on raw data read in VFD SWMR readers when compression is enabled. 4) Unexpected data errors in VFD SWMR readers when compression is disabled. Note that I expect that items 3 & 4 two aspects of the same issues -- the fact that we don't guarantee that raw data is consistent with metadata. Item 2) must be addressed, but it is so infrequent that it isn't doesn't affect the conclusion VFD SWMR seems to work, and thus it can wait until phase 2. I am given to understand that Vailin has largely addressed item 1), and will be checking in her solution to this soon. Tested on Charis and Jelly.