diff options
author | John Mainzer <mainzer@hdfgroup.org> | 2009-04-04 03:58:27 (GMT) |
---|---|---|
committer | John Mainzer <mainzer@hdfgroup.org> | 2009-04-04 03:58:27 (GMT) |
commit | 2bb8a8044afbaa3312dd9dae279b14fab1a6884d (patch) | |
tree | 15096c73eabe92d7621411e2a43a5ae920a911d7 /tools/h5recover/testfiles/test29.stdout | |
parent | 7788ad94856eeefbc06d521f0b7351131cd7a140 (diff) | |
download | hdf5-2bb8a8044afbaa3312dd9dae279b14fab1a6884d.zip hdf5-2bb8a8044afbaa3312dd9dae279b14fab1a6884d.tar.gz hdf5-2bb8a8044afbaa3312dd9dae279b14fab1a6884d.tar.bz2 |
[svn-r16670] Interrim checkin of journal file modifications supporting recognition
and rejection of attempts to apply the wrong journal file to a corrupt
HDF5 file. Specifically, I made the following changes:
1) Moved all journaling data into the journaling in progress superblock
extension message.
2) Added a "magic number" to the journaling in progress message, with
the same "magic number being added to the header of the associated
journal file.
3) Modifications to library test code to support the above.
4) Modified h5recover to examine the supplied hdf5 file, determine if
it is in fact a HDF5 file, if so determine if it is marked as having
journaling in progress, and if it does, extract the contents of the
journaling in progress super block extension message.
5) Modified h5recover to examine the supplied journal file, determine
if it is in fact a HDF5 journal file, and if so, extract the data
from its header.
6) Modified h5recover to refuse to apply the supplied journal file to
the supplied HDF5 file unless the "magic numbers" obtained from these
files matches.
7) Added an examine option to h5recover that causes it to examine and
report on the supplied files, but do nothing. This option exists
primarily to facilitate testing, but I expect that some users will
find it useful as well.
8) Added test code to exercise items 4-7. Note that while I have tried
to cover the more likely cases, this test code is extremely cursory.
In particular, the code to examine the supplied HDF5 file is barely
tested at all. Need a library of HDF5 files exibiting the full range
of possible super block and super block extension message structures
to test this properly.
9) In passing, tighened up the code that controls dumps of "possibly
significant" differences between the contents of the control and
recovered data sets in the h5recover. It should now ignore one
integer matches in what appears to be garbage raw data.
Tested: serial and parallel on Phoenix
serial and parallel on Jam
serial on Linew
serial on Liberty
All tests were done in debug mode.
Diffstat (limited to 'tools/h5recover/testfiles/test29.stdout')
-rw-r--r-- | tools/h5recover/testfiles/test29.stdout | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/tools/h5recover/testfiles/test29.stdout b/tools/h5recover/testfiles/test29.stdout new file mode 100644 index 0000000..c65d2f3 --- /dev/null +++ b/tools/h5recover/testfiles/test29.stdout @@ -0,0 +1,63 @@ +Examining the putative HDF5 file test29.h5: + attempting to get the length of test29.h5... + file length = 6752 + attempting to open test29.h5... + opened file successfully. + searching for super block... + superblock found at 0x0. + reading super block version... + super block version = 2. + reading offset and length sizes from super block... + offset_size = 8. + length_size = 8. + computing eoa addr and offset... + eoa_addr = 0x1c + eoa_offset = 0x1c + reading base addr from super block... + base addr = 0x0 + reading super block extension addr... + super block extension addr = 0xda7 + reading SB extension object header version... + object header version = 2. + scanning SB extension for metadata journaling msg... + preparing to examine v2 SBE ohdr... + size of chunk size = 1 + creation order stored = 0 + phase change values stored = 0 + times stored = 1 + chunk 0 size = 0x1f + chunk 0 addr = 0xdbe + scanning SB ext chunk 0. + found journaling message at 0xdc2 + metadata journaling msg addr = 0xdc2 + reading metadata journaling message... + reading metadata journaling message. + MDJ msg version = 0 + journaling enabled = TRUE + magic = 0x60622d70 + journal file path len = 15 + journal file = "trecover.h5.jnl" + attempting to close test29.h5... + closed file successfully + test29.h5 was journaled and not closed properly. + It is probably corrupt, and it cannot be opened by the HDF5 library. + journaling enabled = 1 + magic = 0x60622d70 + journal file name = "trecover.h5.jnl". + +Examining the putative HDF5 journal file test29.jnl: + attempting to determine journal file length... + file length = 49152 + attempting to open test29.jnl... + opened file successfully. + attempting to read header. + journal file version = 1. + target file = "trecover.h5" + magic = 0x60622d70 + creation date = Wed_Apr__1 + Unexpected human readable tag "humanreadable". + attempting to close test29.jnl... + closed file successfully. + +errors reading test29.jnl. Journal un-useable. + |