Better checksum error reporting in ZFS

After all the discussion about filesystems and checking them after errors, i want to point to a small extension: Since the introduction of the changes proposed by “PSARC 2009/497: zfs checksum ereport payload additions”, error messages of ZFS because of checksum errors are much more informative. The extended message to the fault management gives you much more information about the issue:

cksum_expected = 0x3ffa2307eb97 0x100b4f8dbe8a6cc8 0xee4673db5aa10430 0x6d4b7e76d616a47
cksum_actual = 0x3ffa2307eb94 0x100b4f8dbe88ecd0 0xee4673dafaa44424 0x6d4a7e80d5cea4f
cksum_algorithm = fletcher4
bad_ranges = 0x0 0x8 0x10 0x18
bad_ranges_min_gap = 0x8
bad_range_sets = 0x0 0x0
bad_range_clears = 0x1 0x1
bad_set_bits = 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
bad_cleared_bits = 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0

With this kind of information, you can get much better image of the the problem than just from the message “checksum error”. You will find a deeper look into this change in the description of the change request <a href=”“http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6867188”>6867188</a>. An overview of the meaning of the new values in the error report is available in the PSARC case documentation.