summaryrefslogtreecommitdiffstats
path: root/tools/h5recover/testfiles/test29.stdout
diff options
context:
space:
mode:
authorJohn Mainzer <mainzer@hdfgroup.org>2009-04-04 03:58:27 (GMT)
committerJohn Mainzer <mainzer@hdfgroup.org>2009-04-04 03:58:27 (GMT)
commit2bb8a8044afbaa3312dd9dae279b14fab1a6884d (patch)
tree15096c73eabe92d7621411e2a43a5ae920a911d7 /tools/h5recover/testfiles/test29.stdout
parent7788ad94856eeefbc06d521f0b7351131cd7a140 (diff)
downloadhdf5-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.stdout63
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.
+