Always validate checksums for Direct I/O reads
[zfs.git] / include / sys / fm / fs / zfs.h
blob43d6e3f96ea35b553c12c761cd9bf957056d4fd1
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9 * or https://opensource.org/licenses/CDDL-1.0.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
19 * CDDL HEADER END
22 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
23 * Use is subject to license terms.
27 * Copyright (c) 2020 by Delphix. All rights reserved.
30 #ifndef _SYS_FM_FS_ZFS_H
31 #define _SYS_FM_FS_ZFS_H
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
37 #define ZFS_ERROR_CLASS "fs.zfs"
39 #define FM_EREPORT_ZFS_CHECKSUM "checksum"
40 #define FM_EREPORT_ZFS_AUTHENTICATION "authentication"
41 #define FM_EREPORT_ZFS_IO "io"
42 #define FM_EREPORT_ZFS_DATA "data"
43 #define FM_EREPORT_ZFS_DELAY "delay"
44 #define FM_EREPORT_ZFS_DEADMAN "deadman"
45 #define FM_EREPORT_ZFS_DIO_VERIFY_WR "dio_verify_wr"
46 #define FM_EREPORT_ZFS_DIO_VERIFY_RD "dio_verify_rd"
47 #define FM_EREPORT_ZFS_POOL "zpool"
48 #define FM_EREPORT_ZFS_DEVICE_UNKNOWN "vdev.unknown"
49 #define FM_EREPORT_ZFS_DEVICE_OPEN_FAILED "vdev.open_failed"
50 #define FM_EREPORT_ZFS_DEVICE_CORRUPT_DATA "vdev.corrupt_data"
51 #define FM_EREPORT_ZFS_DEVICE_NO_REPLICAS "vdev.no_replicas"
52 #define FM_EREPORT_ZFS_DEVICE_BAD_GUID_SUM "vdev.bad_guid_sum"
53 #define FM_EREPORT_ZFS_DEVICE_TOO_SMALL "vdev.too_small"
54 #define FM_EREPORT_ZFS_DEVICE_BAD_LABEL "vdev.bad_label"
55 #define FM_EREPORT_ZFS_DEVICE_BAD_ASHIFT "vdev.bad_ashift"
56 #define FM_EREPORT_ZFS_IO_FAILURE "io_failure"
57 #define FM_EREPORT_ZFS_PROBE_FAILURE "probe_failure"
58 #define FM_EREPORT_ZFS_LOG_REPLAY "log_replay"
59 #define FM_EREPORT_ZFS_CONFIG_CACHE_WRITE "config_cache_write"
61 #define FM_EREPORT_PAYLOAD_ZFS_POOL "pool"
62 #define FM_EREPORT_PAYLOAD_ZFS_POOL_FAILMODE "pool_failmode"
63 #define FM_EREPORT_PAYLOAD_ZFS_POOL_GUID "pool_guid"
64 #define FM_EREPORT_PAYLOAD_ZFS_POOL_CONTEXT "pool_context"
65 #define FM_EREPORT_PAYLOAD_ZFS_POOL_STATE "pool_state"
66 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_GUID "vdev_guid"
67 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_TYPE "vdev_type"
68 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_PATH "vdev_path"
69 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_PHYSPATH "vdev_physpath"
70 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_ENC_SYSFS_PATH "vdev_enc_sysfs_path"
71 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_DEVID "vdev_devid"
72 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_FRU "vdev_fru"
73 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_STATE "vdev_state"
74 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_LASTSTATE "vdev_laststate"
75 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_ASHIFT "vdev_ashift"
76 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_COMP_TS "vdev_complete_ts"
77 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_DELTA_TS "vdev_delta_ts"
78 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_SPARE_PATHS "vdev_spare_paths"
79 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_SPARE_GUIDS "vdev_spare_guids"
80 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_READ_ERRORS "vdev_read_errors"
81 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_WRITE_ERRORS "vdev_write_errors"
82 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_CKSUM_ERRORS "vdev_cksum_errors"
83 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_CKSUM_N "vdev_cksum_n"
84 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_CKSUM_T "vdev_cksum_t"
85 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_IO_N "vdev_io_n"
86 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_IO_T "vdev_io_t"
87 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_SLOW_IO_N "vdev_slow_io_n"
88 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_SLOW_IO_T "vdev_slow_io_t"
89 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_DIO_VERIFY_ERRORS "dio_verify_errors"
90 #define FM_EREPORT_PAYLOAD_ZFS_VDEV_DELAYS "vdev_delays"
91 #define FM_EREPORT_PAYLOAD_ZFS_PARENT_GUID "parent_guid"
92 #define FM_EREPORT_PAYLOAD_ZFS_PARENT_TYPE "parent_type"
93 #define FM_EREPORT_PAYLOAD_ZFS_PARENT_PATH "parent_path"
94 #define FM_EREPORT_PAYLOAD_ZFS_PARENT_DEVID "parent_devid"
95 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_OBJSET "zio_objset"
96 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_OBJECT "zio_object"
97 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_LEVEL "zio_level"
98 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_BLKID "zio_blkid"
99 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_ERR "zio_err"
100 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_OFFSET "zio_offset"
101 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_SIZE "zio_size"
102 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_FLAGS "zio_flags"
103 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_STAGE "zio_stage"
104 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_PRIORITY "zio_priority"
105 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_PIPELINE "zio_pipeline"
106 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_DELAY "zio_delay"
107 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_TIMESTAMP "zio_timestamp"
108 #define FM_EREPORT_PAYLOAD_ZFS_ZIO_DELTA "zio_delta"
109 #define FM_EREPORT_PAYLOAD_ZFS_PREV_STATE "prev_state"
110 #define FM_EREPORT_PAYLOAD_ZFS_CKSUM_ALGO "cksum_algorithm"
111 #define FM_EREPORT_PAYLOAD_ZFS_CKSUM_BYTESWAP "cksum_byteswap"
112 #define FM_EREPORT_PAYLOAD_ZFS_BAD_OFFSET_RANGES "bad_ranges"
113 #define FM_EREPORT_PAYLOAD_ZFS_BAD_RANGE_MIN_GAP "bad_ranges_min_gap"
114 #define FM_EREPORT_PAYLOAD_ZFS_BAD_RANGE_SETS "bad_range_sets"
115 #define FM_EREPORT_PAYLOAD_ZFS_BAD_RANGE_CLEARS "bad_range_clears"
116 #define FM_EREPORT_PAYLOAD_ZFS_BAD_SET_BITS "bad_set_bits"
117 #define FM_EREPORT_PAYLOAD_ZFS_BAD_CLEARED_BITS "bad_cleared_bits"
118 #define FM_EREPORT_PAYLOAD_ZFS_SNAPSHOT_NAME "snapshot_name"
119 #define FM_EREPORT_PAYLOAD_ZFS_DEVICE_NAME "device_name"
120 #define FM_EREPORT_PAYLOAD_ZFS_RAW_DEVICE_NAME "raw_name"
121 #define FM_EREPORT_PAYLOAD_ZFS_VOLUME "volume"
123 #define FM_EREPORT_FAILMODE_WAIT "wait"
124 #define FM_EREPORT_FAILMODE_CONTINUE "continue"
125 #define FM_EREPORT_FAILMODE_PANIC "panic"
127 #define FM_RESOURCE_REMOVED "removed"
128 #define FM_RESOURCE_AUTOREPLACE "autoreplace"
129 #define FM_RESOURCE_STATECHANGE "statechange"
131 #define FM_RESOURCE_ZFS_SNAPSHOT_MOUNT "snapshot_mount"
132 #define FM_RESOURCE_ZFS_SNAPSHOT_UNMOUNT "snapshot_unmount"
133 #define FM_RESOURCE_ZVOL_CREATE_SYMLINK "zvol_create"
134 #define FM_RESOURCE_ZVOL_REMOVE_SYMLINK "zvol_remove"
136 #ifdef __cplusplus
138 #endif
140 #endif /* _SYS_FM_FS_ZFS_H */