Commit Graph

28 Commits

Author SHA1 Message Date
Dana Robinson
e4f9ad3dbb Yanked -Wc++-compat from the flags used to build the C library in both
the Autotools and CMake.
2020-05-20 09:20:18 -05:00
David Young
3cb259c5a2 So that I can use PASSED(); anywhere a statement can go, #define PASSED() with
a do-while wrapper.
2020-02-28 16:44:16 -06:00
David Young
456f5c6ee6 Quiet some warnings about jumping over variable initialization,
an improper format string, etc.  NFCI.
2020-02-06 14:14:34 -06:00
David Young
a6be1c0397 Be brief: don't cast the last parameter of H5Pset_file_space_strategy(), the
constant `1`, to `hsize_t`.
2019-12-09 15:42:40 -06:00
David Young
c8f533cfc3 Merge all of my changes from merge-back-to-feature-vfd_swmr-attempt-1,
including the merge of `hdffv/hdf5/develop`, back to the branch that Vailin and
I share.

Now I need to put this branch on a fork with a less confusing name than
vchoi_fork!
2019-12-09 10:30:58 -06:00
Vailin Choi
227688c9cd Modifications for the following items in the punch list:
(A) #5: Add the "pb_expansion_threshold" field to the "H5F_vfd_swmr_config_t" structure
and update H5Pset_vfd_swmr_config() and H5Pget_vfd_swmr_config() accordingly
(B) #13 bullet 2: Comment H5F_vfd_swmr_config_t in H5Fpublic.h properly
(copied from John's description in the RFC)
(C) Change the field name "vfd_swmr_writer" to "writer" in "struct H5F_vfd_swmr_config_t"
(as indicated on page 11 in the RFC) and all references to it
2019-11-14 13:15:23 -06:00
David Young
f2bb4e3dbc Good-bye md_open_tries. 2019-11-14 11:11:15 -06:00
David Young
09bb031cf1 Refactor a bit, remove dead code, move some helper functions to the top
of the file, remove unused variables.
2019-10-02 17:27:24 -05:00
David Young
20dd9b1372 Initialize data and odata to NULL like the exit sequences
expect.  Free `odata`.
2019-09-30 14:28:13 -05:00
David Young
38f3ece57a Add 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.
2019-09-30 14:07:15 -05:00
David Young
de33d5cb3c Rename 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.
2019-09-27 13:34:17 -05:00
David Young
f0596cea65 Don'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 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.
2019-09-27 13:09:07 -05:00
David Young
35c049d6a4 Write 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.
2019-09-26 16:43:01 -05:00
David Young
de2edbb238 Add 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.
2019-09-23 14:37:53 -05:00
David Young
b474650645 Don'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.
2019-09-23 10:30:14 -05:00
David Young
57cfb035ad Delete end-of-block comments, they're uninformative and they make the page
busy.
2019-09-20 14:08:52 -05:00
David Young
89d3461a00 Revise a warning puts() to be more hopeful about VFD SWMR and
multi/split compatibility.
2019-09-20 14:08:52 -05:00
David Young
71499c852b Unse 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.
2019-09-19 11:39:13 -05:00
David Young
9cb455ca87 Add the zygote of VFD SWMR-mode page-buffer tests. 2019-09-17 11:26:18 -05:00
Vailin Choi
49f45640f6 (1) Fix for accumulator issue #1 as described in John's previous checkin
(2) Test files for encoding/decoding property lists
(3) Fix test failures for PB statistics in test/page_buffer.c
    (Will double check with John later about PB statistics collection)
2018-12-02 00:17:15 -06:00
mainzer
e62f4bd4fa Initial checkin of page buffer re-implementation to support VFD SWMR.
Tested serial / debug on Charis and Jelly.

Two known issues:

1) New page buffer seems to expose issues in the accumulator code.

   For whatever reason, fheap with the new page buffer exposes corruption
   issues if the page buffer uses H5F__accum_read/write(), but the problems
   go away if the page buffers uses H5FD_read/write() instead.

   Need to either chase this or dis-able page bufffer in combination with
   the accumulator.

2) Encountered a number of assertion failures that are explainable by the
   free space manager code not telling the page buffer to discard pages
   when they are freed.

   Wrote code to handle this -- once the free space manager is modified,
   this code should be removed and the original assertions restored.
2018-11-04 17:54:01 -06:00
Dana Robinson
67a126c7ba Normalization with vol_integration (test code and H5Xtest.c) 2018-09-20 10:40:51 -07:00
Binh-Minh Ribler
ec31438afd Fixed HDFFV-10404
Description:
    Applied the typo fixes from user's report.
    The previous pull request couldn't be merged because it was too old,
    and it was too complicated for me to resolve conflicts.
Platform tested:
    Linux/64 (jelly) - very minor
2018-07-13 13:40:22 -05:00
Quincey Koziol
d812c6fe60 Cleanup API context function usage. 2018-03-18 22:51:19 -05:00
Quincey Koziol
4a17aff408 Add API context interface and use it throughout the library. 2018-03-15 16:54:30 -05:00
Larry Knox
89fbe00dec Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to hdf5_1_10
* commit '54957d37f5aa73912763dbb6e308555e863c43f4':
  Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes.
  Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh.
  Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1
  Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
2017-04-25 16:05:36 -05:00
mainzer
afd8f64c29 Omnibus checkin for several relatively minor modifications:
1) Added code test/page_buffer.c to verify that page buffering is
   disabled in parallel builds.

2) Added code to test/cache_image.c to verify correct interaction
   between evict on close and cache image -- in particular management
   of a file containing a cache image containing dirty metadata that
   has been opened R/O.  Also fix for the bug exposed.

3) Added code to testpar/t_cache_image.c to verify expected procedure
   for reading cache images, and also supporting stats collection code
   needed for the test.

4) Repair of an overactive sanity check in H5C__reconstruct_cache_contents().

5) Other minor tidies in passing.

Tested serial and parallel, debug and production on Jelly.
2017-03-28 11:21:40 -05:00
Quincey Koziol
0313cbb91d Final merge of page buffering branch to develop 2017-03-13 21:30:37 -07:00