1  /* SPDX-License-Identifier: GPL-2.0+ */
2  /*
3   * Copyright (c) 2000-2002,2005 Silicon Graphics, Inc.
4   * Copyright (C) 2017 Oracle.
5   * All Rights Reserved.
6   */
7  #ifndef __XFS_ERRORTAG_H_
8  #define __XFS_ERRORTAG_H_
9  
10  /*
11   * error injection tags - the labels can be anything you want
12   * but each tag should have its own unique number
13   */
14  
15  #define XFS_ERRTAG_NOERROR				0
16  #define XFS_ERRTAG_IFLUSH_1				1
17  #define XFS_ERRTAG_IFLUSH_2				2
18  #define XFS_ERRTAG_IFLUSH_3				3
19  #define XFS_ERRTAG_IFLUSH_4				4
20  #define XFS_ERRTAG_IFLUSH_5				5
21  #define XFS_ERRTAG_IFLUSH_6				6
22  #define XFS_ERRTAG_DA_READ_BUF				7
23  #define XFS_ERRTAG_BTREE_CHECK_LBLOCK			8
24  #define XFS_ERRTAG_BTREE_CHECK_SBLOCK			9
25  #define XFS_ERRTAG_ALLOC_READ_AGF			10
26  #define XFS_ERRTAG_IALLOC_READ_AGI			11
27  #define XFS_ERRTAG_ITOBP_INOTOBP			12
28  #define XFS_ERRTAG_IUNLINK				13
29  #define XFS_ERRTAG_IUNLINK_REMOVE			14
30  #define XFS_ERRTAG_DIR_INO_VALIDATE			15
31  #define XFS_ERRTAG_BULKSTAT_READ_CHUNK			16
32  #define XFS_ERRTAG_IODONE_IOERR				17
33  #define XFS_ERRTAG_STRATREAD_IOERR			18
34  #define XFS_ERRTAG_STRATCMPL_IOERR			19
35  #define XFS_ERRTAG_DIOWRITE_IOERR			20
36  #define XFS_ERRTAG_BMAPIFORMAT				21
37  #define XFS_ERRTAG_FREE_EXTENT				22
38  #define XFS_ERRTAG_RMAP_FINISH_ONE			23
39  #define XFS_ERRTAG_REFCOUNT_CONTINUE_UPDATE		24
40  #define XFS_ERRTAG_REFCOUNT_FINISH_ONE			25
41  #define XFS_ERRTAG_BMAP_FINISH_ONE			26
42  #define XFS_ERRTAG_AG_RESV_CRITICAL			27
43  
44  /*
45   * Drop-writes support removed because write error handling cannot trash
46   * pre-existing delalloc extents in any useful way anymore. We retain the
47   * definition so that we can reject it as an invalid value in
48   * xfs_errortag_valid().
49   */
50  #define XFS_ERRTAG_DROP_WRITES				28
51  #define XFS_ERRTAG_LOG_BAD_CRC				29
52  #define XFS_ERRTAG_LOG_ITEM_PIN				30
53  #define XFS_ERRTAG_BUF_LRU_REF				31
54  #define XFS_ERRTAG_FORCE_SCRUB_REPAIR			32
55  #define XFS_ERRTAG_FORCE_SUMMARY_RECALC			33
56  #define XFS_ERRTAG_IUNLINK_FALLBACK			34
57  #define XFS_ERRTAG_BUF_IOERROR				35
58  #define XFS_ERRTAG_REDUCE_MAX_IEXTENTS			36
59  #define XFS_ERRTAG_BMAP_ALLOC_MINLEN_EXTENT		37
60  #define XFS_ERRTAG_AG_RESV_FAIL				38
61  #define XFS_ERRTAG_LARP					39
62  #define XFS_ERRTAG_DA_LEAF_SPLIT			40
63  #define XFS_ERRTAG_ATTR_LEAF_TO_NODE			41
64  #define XFS_ERRTAG_WB_DELAY_MS				42
65  #define XFS_ERRTAG_WRITE_DELAY_MS			43
66  #define XFS_ERRTAG_EXCHMAPS_FINISH_ONE			44
67  #define XFS_ERRTAG_MAX					45
68  
69  /*
70   * Random factors for above tags, 1 means always, 2 means 1/2 time, etc.
71   */
72  #define XFS_RANDOM_DEFAULT				100
73  #define XFS_RANDOM_IFLUSH_1				XFS_RANDOM_DEFAULT
74  #define XFS_RANDOM_IFLUSH_2				XFS_RANDOM_DEFAULT
75  #define XFS_RANDOM_IFLUSH_3				XFS_RANDOM_DEFAULT
76  #define XFS_RANDOM_IFLUSH_4				XFS_RANDOM_DEFAULT
77  #define XFS_RANDOM_IFLUSH_5				XFS_RANDOM_DEFAULT
78  #define XFS_RANDOM_IFLUSH_6				XFS_RANDOM_DEFAULT
79  #define XFS_RANDOM_DA_READ_BUF				XFS_RANDOM_DEFAULT
80  #define XFS_RANDOM_BTREE_CHECK_LBLOCK			(XFS_RANDOM_DEFAULT/4)
81  #define XFS_RANDOM_BTREE_CHECK_SBLOCK			XFS_RANDOM_DEFAULT
82  #define XFS_RANDOM_ALLOC_READ_AGF			XFS_RANDOM_DEFAULT
83  #define XFS_RANDOM_IALLOC_READ_AGI			XFS_RANDOM_DEFAULT
84  #define XFS_RANDOM_ITOBP_INOTOBP			XFS_RANDOM_DEFAULT
85  #define XFS_RANDOM_IUNLINK				XFS_RANDOM_DEFAULT
86  #define XFS_RANDOM_IUNLINK_REMOVE			XFS_RANDOM_DEFAULT
87  #define XFS_RANDOM_DIR_INO_VALIDATE			XFS_RANDOM_DEFAULT
88  #define XFS_RANDOM_BULKSTAT_READ_CHUNK			XFS_RANDOM_DEFAULT
89  #define XFS_RANDOM_IODONE_IOERR				(XFS_RANDOM_DEFAULT/10)
90  #define XFS_RANDOM_STRATREAD_IOERR			(XFS_RANDOM_DEFAULT/10)
91  #define XFS_RANDOM_STRATCMPL_IOERR			(XFS_RANDOM_DEFAULT/10)
92  #define XFS_RANDOM_DIOWRITE_IOERR			(XFS_RANDOM_DEFAULT/10)
93  #define XFS_RANDOM_BMAPIFORMAT				XFS_RANDOM_DEFAULT
94  #define XFS_RANDOM_FREE_EXTENT				1
95  #define XFS_RANDOM_RMAP_FINISH_ONE			1
96  #define XFS_RANDOM_REFCOUNT_CONTINUE_UPDATE		1
97  #define XFS_RANDOM_REFCOUNT_FINISH_ONE			1
98  #define XFS_RANDOM_BMAP_FINISH_ONE			1
99  #define XFS_RANDOM_AG_RESV_CRITICAL			4
100  #define XFS_RANDOM_LOG_BAD_CRC				1
101  #define XFS_RANDOM_LOG_ITEM_PIN				1
102  #define XFS_RANDOM_BUF_LRU_REF				2
103  #define XFS_RANDOM_FORCE_SCRUB_REPAIR			1
104  #define XFS_RANDOM_FORCE_SUMMARY_RECALC			1
105  #define XFS_RANDOM_IUNLINK_FALLBACK			(XFS_RANDOM_DEFAULT/10)
106  #define XFS_RANDOM_BUF_IOERROR				XFS_RANDOM_DEFAULT
107  #define XFS_RANDOM_REDUCE_MAX_IEXTENTS			1
108  #define XFS_RANDOM_BMAP_ALLOC_MINLEN_EXTENT		1
109  #define XFS_RANDOM_AG_RESV_FAIL				1
110  #define XFS_RANDOM_LARP					1
111  #define XFS_RANDOM_DA_LEAF_SPLIT			1
112  #define XFS_RANDOM_ATTR_LEAF_TO_NODE			1
113  #define XFS_RANDOM_WB_DELAY_MS				3000
114  #define XFS_RANDOM_WRITE_DELAY_MS			3000
115  #define XFS_RANDOM_EXCHMAPS_FINISH_ONE			1
116  
117  #endif /* __XFS_ERRORTAG_H_ */
118