| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
when handling an I/O request on a metadata entry that has been sub-allocated
from a larger file space allocation (i.e. fixed and extensible array), and
that crosses at least one page boundary. .
This required modifying the metadata cache to provide the type of the
metadata cache entry in the current I/O request. For now, this is done
with a function call. Once we are sure this works, it may be appropriate
to convert this to a macro, or to add a flags parameter to the H5F block
read/write calls.
Also updated the metadata cache to report whether a read request is
speculative -- again via a function call. This allowed me to remove
the last address static variable in the H5PB_read() call, which is
necessary to support multiple files opened in VFD SWMR mode.
Also re-wrote the H5PB_remove_entries() call to handle release
of large metadata file space allocations that have been sub-allocated
into multiple metadata entries. Also modified the call to
H5PB_remove_entries() in H5MF__xfree_impl() to invoke it whenever
the page buffer is enabled and the size of the space to be freed is
of page size or larger.
Tested serial / debug on charis and Jelly.
Found a bug in H5MF_xfree_impl(), in which the call to H5PB_remove_entries()
is skipped due to HGOTO_DONE calls earlier in the function. While the
obvious action is to move the call earlier in the function, best to
consult with Vailin first, as there is much going on and it would be
best to avoid making the situation worse. If nothing else, there are
some error management issues.
|
| |
|
| |
|
|
|
|
| |
argument, first, not `H5F_t *`.
|
| |
|
| |
|
| |
|
|
|
|
| |
(H5O_getinfo2).
|
| |
|
| |
|
|
|
|
| |
the dataset is extended.
|
| |
|
| |
|
|
|
|
| |
instead of "%ju".
|
|
|
|
|
|
|
| |
to integer of different size [-Werror=pointer-to-int-cast]` and
`test/snapshots-hdf5/current/test/swmr_sparse_reader.c:129:100:
error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]`.
|
| |
|
|
|
|
|
|
|
| |
* Rename server-stop utility to mirror_server_stop.
* Remove external dependency on bzero().
* Modify test/use_common to use only the public API.
* Rename internal bitswap macro to follow convention.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* "Simultaneous and equivalent" Read-Write and Write-Only channels for
file I/O.
* Only supports drivers with the H5FD_FEAT_DEFAULT_VFD_COMPATIBLE flag for
now, preventing issues with multi-file drivers.
Add Mirror VFD to library.
* Write-only operations over a network.
* Uses TCP/IP sockets.
* Server and auxiliary server-shutdown programs provided in a new directory,
`utils/mirror_vfd`.
* Automated testing via loopback ("remote" of localhost).
|
| |
|
|
|
|
|
|
|
| |
related to
references and selections.
These test files will be copied to 1.12, 1.10 and 1.8 for compatibility testing.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
H5D__init_type() fails.
This is triggered by the tests for revised references when the libver bounds setting does not allow version
4 datatype message to be created. The test failure is abort core dumped.
This is due to the datatype initialization fails before the datatype ID is registered.
The datatype cleanup code should provide for the above situation.
The code to fix the problem is the same as what is done in H5D__open_oid().
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
could block at the barrier, wake and exit the barrier, re-acquire the barrier
lock and increase `nentered` before the other blocked threads woke and checked
`nentered % count == 0`. Then the other blocked threads would check `nentered
% count == 0` and, finding it false, go back to sleep in the barrier. This new
implementation waits for a looser condition to obtain so that threads don't go
back to sleep in the barrier.
|
| |
|
| |
|
|
|
|
| |
and mutex. Untested.
|
| |
|
|
|
|
| |
parameters that are unused under some configurations.
|
| |
|
|
|
|
| |
for Visual Studio compatibility.
|
| |
|
|
|
|
| |
always.
|
|
|
|
| |
case a bit.
|
|
|
|
|
| |
H5T__copy_all()-like routine 10 million times and then measures the version
with FUNC_ENTER_STATIC/_LEAVE_NOAPI and a HGOTO_ERROR() statement.
|
| |
|
|
|
|
| |
test/thread_id.c: move threads_failure() inside #ifdefs.
|
|
|
|
|
| |
Fix a typo in the H5TS_thread_init() comment and reword some ID
properties.
|
|
|
|
| |
request.
|
|
|
|
|
| |
implementation ought to be portable to any system that has POSIX
Threads. On Windows, I use the same API call as before.
|
|
|
|
|
|
|
|
| |
Rename index -> idx, fileno -> fnumber, fileno -> fno to avoid GCC
shadowed declaration warnings about index(3).
Convert #pragma GCC diagnostic push/pop/ignored to the HDF5 library's
H5_GCC_DIAG_OFF()/H5_GCC_DIAG_ON() macros.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reduce gratuitous casts---e.g., (size_t)1.
Use the right format string for a pointer.
In the H5C sanity checks, change a "size increase" variable from ssize_t
(too narrow) to int64_t (wide enough).
Parenthesize every appearance of `storage` in the macro
`H5D_CHUNK_STORAGE_INDEX_CHK(storage)` so that you can pass in an
expression like &sc and it works properly.
Disallow re-assignment of the `dset` parameter to H5D__chunk_init()
because it helped assure me that it's safe to replace the repeating
expression `&dset->shared->layout.storage.u.chunk` with `sc` throughout.
Replace lengthy expressions such as
`&dset->shared->layout.storage.u.chunk` with `sc` throughout several
functions in H5Dchunk.c ISTR that the compiler warned that `sc` was
declared but unused in a couple of functions, and then I found that `sc`
could be used in many places. Maybe the disused `sc` appeared because a
bunch of code was copied and pasted, I don't know. Anyway, it's a lot
tighter code now that I use `sc`.
In H5D__chunk_update_old_edge_chunks() and H5D__chunk_delete()
I actually expand `sc` and another temporary variable, `pline`,
because they're used only in !defined(NDEBUG) code. This squashes
unused-variable warnings in the defined(NDEBUG) configuration.
Don't drop the `volatile` qualification with a cast in
tools/src/h5import/h5import.c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
previous warnings PR. An array element was assigned to
itself---shape[2]Â =Â shape[2];---instead of being assigned to
chunk[2].
fortran/src/H5Pf.c: move conditional compilation controlled by
H5_NO_DEPRECATED_SYMBOLS outside of a function for readability.
fortran/src/H5match_types.c: put a variable's declaration under the same
conditional compilation (H5_FORTRAN_HAVE_C_LONG_DOUBLE) as its
use.
For now, skip compilation of some unused debug dump routines in the JNI.
While I'm in the JNI, delete a set-but-unused variable.
src/H5Z.c: condition a variable declaration on H5_NO_DEPRECATED_SYMBOLS
so that it's not declared but unused or vice versa.
test/cache_common.h: add an #include in to get some symbols we need to
avoid implicit declaration warnings.
test/dsets.c: use a more conventional conditional-compilation syntax.
test/dt_arith.c, test/fillval.c: initialize a bunch of uninitialized
variables before use.
test/vfd.c: pass the expected type of `void **` to posix_memalign(3)
instead of `int **`.
testpar/t_bigio.c: explicitly compare with 0 instead of using ! when
"equal to 0?" is the question not "is false?" Repair some
indentation while I'm here.
testpar/testpar.h: repair misaligned line-continuation backslashes in a
macro that probably should be a function so that we don't have
to fiddle with the line continuation to begin with.
tools/src/h5repack/h5repack_main.c: fix some compiler fussing about
enums.
tools/test/perform/pio_engine.c: the compiler fusses if you cast a
function call returning double directly to off_t. It's ok if
you cast a variable that's a double to off_t, however. Write
and use a new function, sqrto(), to avoid the cast warnings.
|