| Inherit version 0 from ereport |
| Inherit version 0 from ereport.fs |
| Inherit version 0 from ereport.fs.zfs |
| bad_cleared_bits | uint8_t[] | Like bad_set_bits, but contains: (good data
& ~(bad data)); that is, the bits set in the good data which
are cleared in the bad data.
|
|
| bad_cleared_histogram | uint16_t[64] | If this field exists, it is an array of counters. Each
entry counts bit clears in a particular bit of a big-endian
uint64_t. So the first entry counts clears of the the high-order bit
of the first byte, the 9th byte, etc, and the last entry counts
clears of the low-order bit of the 8th byte, the 16th byte,
etc. |
|
| bad_range_clears | uint32_t[] | This array has one element per range in bad_ranges.
Each element contains the count of bits for that range which were set
in the good data and clear in the bad data. |
|
| bad_range_sets | uint32_t[] | This array has one element per range in bad_ranges.
Each element contains the count of bits in that range which were
clear in the good data and set in the bad data. |
|
| bad_ranges | uint32_t[] | [start, end) pairs of corruption offsets.
Offsets are always be aligned on a uint64_t boundry, and can include
some gaps of non-corruption. (See bad_ranges_min_gap) |
|
| bad_ranges_max_gap | uint32_t | In order to bound the size of the bad_ranges array,
gaps of non-corruption <= bad_ranges_max_gap bytes have been
merged with adjacent corruption. Always at least 8, since we look
at corruption on a uint64_t basis. |
|
| bad_set_bits | uint8_t[] | If this field exists, it is an array of: (bad data
& ~(good data)); that is, the bits set in the bad data which
are cleared in the good data. Each element corresponds a byte
whose offset is in a range in bad_ranges, and the array is in
offset-order. (i.e. the first element is the first byt in the
first bad_ranges range, and the last element is the last byte in
the last bad_ranges range)
|
|
| bad_set_histogram | uint16_t[64] | If this field exists, it is an array of counters. Each
entry counts bit sets in a particular bit of a big-endian uint64_t.
So the first entry counts sets of the the high-order bit of the first
byte, the 9th byte, etc, and the last entry counts sets of the
low-order bit of the 8th byte, the 16th byte, etc. |
|
| cksum_actual | uint64_t[] | The actual checksum value for the bad block |
|
| cksum_algorithm | string | Checksum algorithm used |
|
| cksum_byteswap | string | Whether or not the data was byteswapped |
|
| cksum_expected | uint64_t[] | The expected checksum value for the block |
|
| parent_devid | string | ZFS vdev parent device id |
|
| parent_guid | uint64_t | ZFS vdev parent guid |
|
| parent_path | string | ZFS vdev parent path |
|
| parent_type | string | ZFS vdev parent type |
|
| vdev_devid | string | ZFS vdev device id |
|
| vdev_guid | uint64_t | ZFS vdev guid |
|
| vdev_path | string | ZFS vdev path |
|
| vdev_type | string | ZFS vdev type |
|
| zio_blkid | uint64_t | ZFS block id |
|
| zio_err | int32_t | ZFS IO errno |
|
| zio_level | int32_t | ZFS indirect level |
|
| zio_object | uint64_t | ZFS object |
|
| zio_objset | uint64_t | ZFS objset |
|
| zio_offset | uint64_t | ZFS vdev offset |
|
| zio_size | uint64_t | ZFS vdev size |
|