SEC2J - standalone transactions/journaling implementation available before 1.10.0

Dear All,

Here’s something cool for managing issues with corrupt HDF5 files (e.g. 1
, 2
It’s still a work in progress and not fully tested but it’s basically an
implementation of journalling for the default SEC2 file driver of HDF5.
This functionality was planned for release 1.10.0 by the HDF5 group but
since I needed it now… here you go.

Comment from a core HDF5 developer:


Seems like a reasonable implementation, with a good use of the public
VFD interface to reenter the underlying VFD used (i.e. it's a stacking
version). It's not as integrated as our solution, so the user must
when to start/stop journaling operations, but that can be a good thing too,
since multiple metadata operations can be journaled together, creating a
'transaction' from the user's perspective.