ZFS-EVENTS(5) | File Formats Manual | ZFS-EVENTS(5) |
zfs-events - Events created by the ZFS filesystem.
Description of the different events generated by the ZFS stack.
Most of these don't have any description. The events generated by ZFS have never been publicly documented. What is here is intended as a starting point to provide documentation for all possible events.
To view all events created since the loading of the ZFS infrastructure (i.e, "the module"), run
zpool events
to get a short list, and
zpool events -v
to get a full detail of the events and what information is available about it.
This man page lists the different subclasses that are issued in the case of an event. The full event name would be ereport.fs.zfs.SUBCLASS, but we only list the last part here.
checksum
io
data
deadman
delay
config.sync
zpool
zpool.destroy
zpool.export
zpool.import
zpool.reguid
vdev.unknown
vdev.open_failed
vdev.corrupt_data
vdev.no_replicas
vdev.bad_guid_sum
vdev.too_small
vdev.bad_label
vdev.bad_ashift
vdev.remove
vdev.clear
vdev.check
vdev.spare
vdev.autoexpand
io_failure
probe_failure
log_replay
resilver.start
resilver.finish
scrub.start
scrub.finish
scrub.abort
scrub.resume
scrub.paused
bootfs.vdev.attach
This is the payload (data, information) that accompanies an event.
For zed(8), these are set to uppercase and prefixed with ZEVENT_.
pool
pool_failmode
pool_guid
pool_context
vdev_guid
vdev_type
vdev_path
vdev_devid
vdev_fru
vdev_state
vdev_ashift
vdev_complete_ts
vdev_delta_ts
vdev_spare_paths
vdev_spare_guids
vdev_read_errors
vdev_write_errors
vdev_cksum_errors
parent_guid
parent_type
parent_path
parent_devid
zio_objset
zio_object
zio_level
zio_blkid
zio_err
zio_offset
zio_size
zio_flags
zio_stage
zio_pipeline
zio_delay
zio_timestamp
zio_delta
prev_state
cksum_expected
cksum_actual
cksum_algorithm
cksum_byteswap
bad_ranges
bad_ranges_min_gap
bad_range_sets
bad_range_clears
bad_set_bits
bad_cleared_bits
bad_set_histogram
bad_cleared_histogram
The ZFS I/O pipeline is comprised of various stages which are defined below. The individual stages are used to construct these basic I/O operations: Read, Write, Free, Claim, and Ioctl. These stages may be set on an event to describe the life cycle of a given I/O.
Stage | Bit Mask | Operations |
ZIO_STAGE_OPEN | 0x00000001 | RWFCI |
ZIO_STAGE_READ_BP_INIT | 0x00000002 | R---- |
ZIO_STAGE_WRITE_BP_INIT | 0x00000004 | -W--- |
ZIO_STAGE_FREE_BP_INIT | 0x00000008 | --F-- |
ZIO_STAGE_ISSUE_ASYNC | 0x00000010 | RWF-- |
ZIO_STAGE_WRITE_COMPRESS | 0x00000020 | -W--- |
ZIO_STAGE_ENCRYPT | 0x00000040 | -W--- |
ZIO_STAGE_CHECKSUM_GENERATE | 0x00000080 | -W--- |
ZIO_STAGE_NOP_WRITE | 0x00000100 | -W--- |
ZIO_STAGE_DDT_READ_START | 0x00000200 | R---- |
ZIO_STAGE_DDT_READ_DONE | 0x00000400 | R---- |
ZIO_STAGE_DDT_WRITE | 0x00000800 | -W--- |
ZIO_STAGE_DDT_FREE | 0x00001000 | --F-- |
ZIO_STAGE_GANG_ASSEMBLE | 0x00002000 | RWFC- |
ZIO_STAGE_GANG_ISSUE | 0x00004000 | RWFC- |
ZIO_STAGE_DVA_THROTTLE | 0x00008000 | -W--- |
ZIO_STAGE_DVA_ALLOCATE | 0x00010000 | -W--- |
ZIO_STAGE_DVA_FREE | 0x00020000 | --F-- |
ZIO_STAGE_DVA_CLAIM | 0x00040000 | ---C- |
ZIO_STAGE_READY | 0x00080000 | RWFCI |
ZIO_STAGE_VDEV_IO_START | 0x00100000 | RW--I |
ZIO_STAGE_VDEV_IO_DONE | 0x00200000 | RW--I |
ZIO_STAGE_VDEV_IO_ASSESS | 0x00400000 | RW--I |
ZIO_STAGE_CHECKSUM_VERIFY | 0x00800000 | R---- |
ZIO_STAGE_DONE | 0x01000000 | RWFCI |
Every I/O in the pipeline contains a set of flags which describe its function and are used to govern its behavior. These flags will be set in an event as an zio_flags payload entry.
Flag | Bit Mask |
ZIO_FLAG_DONT_AGGREGATE | 0x00000001 |
ZIO_FLAG_IO_REPAIR | 0x00000002 |
ZIO_FLAG_SELF_HEAL | 0x00000004 |
ZIO_FLAG_RESILVER | 0x00000008 |
ZIO_FLAG_SCRUB | 0x00000010 |
ZIO_FLAG_SCAN_THREAD | 0x00000020 |
ZIO_FLAG_PHYSICAL | 0x00000040 |
ZIO_FLAG_CANFAIL | 0x00000080 |
ZIO_FLAG_SPECULATIVE | 0x00000100 |
ZIO_FLAG_CONFIG_WRITER | 0x00000200 |
ZIO_FLAG_DONT_RETRY | 0x00000400 |
ZIO_FLAG_DONT_CACHE | 0x00000800 |
ZIO_FLAG_NODATA | 0x00001000 |
ZIO_FLAG_INDUCE_DAMAGE | 0x00002000 |
ZIO_FLAG_IO_ALLOCATING | 0x00004000 |
ZIO_FLAG_IO_RETRY | 0x00008000 |
ZIO_FLAG_PROBE | 0x00010000 |
ZIO_FLAG_TRYHARD | 0x00020000 |
ZIO_FLAG_OPTIONAL | 0x00040000 |
ZIO_FLAG_DONT_QUEUE | 0x00080000 |
ZIO_FLAG_DONT_PROPAGATE | 0x00100000 |
ZIO_FLAG_IO_BYPASS | 0x00200000 |
ZIO_FLAG_IO_REWRITE | 0x00400000 |
ZIO_FLAG_RAW_COMPRESS | 0x00800000 |
ZIO_FLAG_RAW_ENCRYPT | 0x01000000 |
ZIO_FLAG_GANG_CHILD | 0x02000000 |
ZIO_FLAG_DDT_CHILD | 0x04000000 |
ZIO_FLAG_GODFATHER | 0x08000000 |
ZIO_FLAG_NOPWRITE | 0x10000000 |
ZIO_FLAG_REEXECUTED | 0x20000000 |
ZIO_FLAG_DELEGATED | 0x40000000 |
ZIO_FLAG_FASTWRITE | 0x80000000 |
August 24, 2020 | OpenZFS |