This source file includes following definitions.
- RF_DeviceConfig_t
- RF_ProgressInfo_t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 #ifndef _RF__RF_RAIDFRAME_H_
41 #define _RF__RF_RAIDFRAME_H_
42
43 #include "rf_types.h"
44 #include "rf_configure.h"
45 #include "rf_disks.h"
46 #include "rf_raid.h"
47
48 typedef RF_uint32 RF_ReconReqFlags_t;
49
50 struct rf_recon_req {
51 RF_RowCol_t row, col;
52 RF_ReconReqFlags_t flags;
53 void *raidPtr;
54
55
56
57 struct rf_recon_req *next;
58
59
60
61 };
62
63 struct RF_SparetWait_s {
64 int C, G, fcol;
65
66
67
68
69
70 RF_StripeCount_t SUsPerPU;
71
72
73
74
75 int TablesPerSpareRegion;
76 int BlocksPerTable;
77 RF_StripeCount_t TableDepthInPUs;
78 RF_StripeCount_t SpareSpaceDepthPerRegionInSUs;
79
80 RF_SparetWait_t *next;
81
82
83
84 };
85
86 typedef struct RF_DeviceConfig_s {
87 u_int rows;
88 u_int cols;
89 u_int maxqdepth;
90 int ndevs;
91 RF_RaidDisk_t devs[RF_MAX_DISKS];
92 int nspares;
93 RF_RaidDisk_t spares[RF_MAX_DISKS];
94 } RF_DeviceConfig_t;
95
96
97 typedef struct RF_ProgressInfo_s {
98 RF_uint64 remaining;
99 RF_uint64 completed;
100 RF_uint64 total;
101 } RF_ProgressInfo_t;
102
103
104 #define RF_FDFLAGS_NONE 0x0
105 #define RF_FDFLAGS_RECON 0x1
106
107 #define RF_SCSI_DISK_MAJOR 8
108
109
110
111
112
113 #define RAIDFRAME_CONFIGURE _IOW ('r', 1, void *)
114
115 #define RAIDFRAME_SHUTDOWN _IO ('r', 2)
116
117 #define RAIDFRAME_TUR _IOW ('r', 3, dev_t)
118
119 #define RAIDFRAME_TEST_ACC _IOWR('r', 4, struct rf_test_acc)
120
121 #define RAIDFRAME_FAIL_DISK _IOW ('r', 5, struct rf_recon_req)
122
123 #define RAIDFRAME_CHECK_RECON_STATUS _IOWR('r', 6, int)
124
125 #define RAIDFRAME_REWRITEPARITY _IO ('r', 7)
126
127 #define RAIDFRAME_COPYBACK _IO ('r', 8)
128
129 #define RAIDFRAME_SPARET_WAIT _IOR ('r', 9, RF_SparetWait_t)
130
131 #define RAIDFRAME_SEND_SPARET _IOW ('r', 10, void *)
132
133 #define RAIDFRAME_ABORT_SPARET_WAIT _IO ('r', 11)
134
135 #define RAIDFRAME_START_ATRAC _IO ('r', 12)
136
137 #define RAIDFRAME_STOP_ATRACE _IO ('r', 13)
138
139 #define RAIDFRAME_GET_SIZE _IOR ('r', 14, int)
140
141 #define RAIDFRAME_GET_INFO _IOWR('r', 15, RF_DeviceConfig_t *)
142
143 #define RAIDFRAME_RESET_ACCTOTALS _IO ('r', 16)
144
145 #define RAIDFRAME_GET_ACCTOTALS _IOR ('r', 17, RF_AccTotals_t)
146
147 #define RAIDFRAME_KEEP_ACCTOTALS _IOW ('r', 18, int)
148
149 #define RAIDFRAME_GET_COMPONENT_LABEL _IOWR ('r', 19, RF_ComponentLabel_t *)
150 #define RAIDFRAME_SET_COMPONENT_LABEL _IOW ('r', 20, RF_ComponentLabel_t)
151
152 #define RAIDFRAME_INIT_LABELS _IOW ('r', 21, RF_ComponentLabel_t)
153 #define RAIDFRAME_ADD_HOT_SPARE _IOW ('r', 22, RF_SingleComponent_t)
154 #define RAIDFRAME_REMOVE_HOT_SPARE _IOW ('r', 23, RF_SingleComponent_t)
155 #define RAIDFRAME_REBUILD_IN_PLACE _IOW ('r', 24, RF_SingleComponent_t)
156 #define RAIDFRAME_CHECK_PARITY _IOWR ('r', 25, int)
157 #define RAIDFRAME_CHECK_PARITYREWRITE_STATUS _IOWR ('r', 26, int)
158 #define RAIDFRAME_CHECK_COPYBACK_STATUS _IOWR ('r', 27, int)
159 #define RAIDFRAME_SET_AUTOCONFIG _IOWR ('r', 28, int)
160 #define RAIDFRAME_SET_ROOT _IOWR ('r', 29, int)
161 #define RAIDFRAME_DELETE_COMPONENT _IOW ('r', 30, RF_SingleComponent_t)
162 #define RAIDFRAME_INCORPORATE_HOT_SPARE _IOW ('r', 31, RF_SingleComponent_t)
163
164
165 #define RAIDFRAME_CHECK_RECON_STATUS_EXT \
166 _IOWR('r', 32, RF_ProgressInfo_t *)
167 #define RAIDFRAME_CHECK_PARITYREWRITE_STATUS_EXT \
168 _IOWR ('r', 33, RF_ProgressInfo_t *)
169 #define RAIDFRAME_CHECK_COPYBACK_STATUS_EXT \
170 _IOWR ('r', 34, RF_ProgressInfo_t *)
171
172 #endif