Line data Source code
1 :
2 : struct device;
3 :
4 : void *ldv_dev_get_drvdata(const struct device *dev);
5 : int ldv_dev_set_drvdata(struct device *dev, void *data);
6 :
7 : struct spi_master;
8 : struct device;
9 : struct spi_master *ldv_spi_alloc_master(struct device *host, unsigned size);
10 :
11 : #include <linux/ldv/err.h>
12 :
13 : #include <linux/types.h>
14 : void *ldv_kzalloc(size_t size, gfp_t flags);
15 :
16 : struct clk;
17 :
18 : extern void ldv_clk_disable(struct clk *clk);
19 : extern int ldv_clk_enable(void);
20 :
21 : #include <linux/ldv/common.h>
22 : #include <linux/ldv/irq.h>
23 : #include <verifier/common.h>
24 : #include <verifier/nondet.h>
25 : #include <verifier/memory.h>
26 : #include <verifier/thread.h>
27 :
28 :
29 :
30 : struct ldv_struct_main_5 {
31 : int signal_pending;
32 : };
33 1 :
34 : struct ldv_struct_partially_ordered_scenario_1 {
35 : struct mdk_personality *arg0;
36 : int signal_pending;
37 : };
38 :
39 : /* EMG Function declarations */
40 : void ldv_dispatch_deregister_3_1(struct mdk_personality *);
41 : void ldv_dispatch_insmod_deregister_5_2(void);
42 : void ldv_dispatch_insmod_register_5_3(void);
43 : void ldv_dispatch_register_4_3(struct mdk_personality *);
44 : int ldv_emg_register_md_personality(struct mdk_personality *);
45 : int ldv_emg_unregister_md_personality(struct mdk_personality *);
46 : void ldv_insmod_2(void *);
47 : void ldv_insmod_raid_exit_2_2(void (*)(void));
48 : int ldv_insmod_raid_init_2_6(int (*)(void));
49 : void ldv_main_5(void *);
50 : void ldv_partially_ordered_scenario_1(void *);
51 : void ldv_partially_ordered_scenario_callback_1_15(void (*)(mddev_t *, mdk_rdev_t *), mddev_t *, mdk_rdev_t *);
52 : void ldv_partially_ordered_scenario_callback_1_16(int (*)(mddev_t *, mdk_rdev_t *), mddev_t *, mdk_rdev_t *);
53 : void ldv_partially_ordered_scenario_callback_1_17(int (*)(mddev_t *, int), mddev_t *, int);
54 : void ldv_partially_ordered_scenario_callback_1_20(int (*)(struct request_queue *, struct bio *), struct request_queue *, struct bio *);
55 : void ldv_partially_ordered_scenario_callback_1_21(void (*)(mddev_t *, int), mddev_t *, int);
56 : void ldv_partially_ordered_scenario_callback_1_24(int (*)(mddev_t *, sector_t ), mddev_t *, long unsigned int);
57 : void ldv_partially_ordered_scenario_callback_1_27(sector_t (*)(mddev_t *, sector_t , int), mddev_t *, long unsigned int, int);
58 : void ldv_partially_ordered_scenario_callback_1_30(int (*)(mddev_t *), mddev_t *);
59 : void ldv_partially_ordered_scenario_callback_1_31(void (*)(struct seq_file *, mddev_t *), struct seq_file *, mddev_t *);
60 : void ldv_partially_ordered_scenario_callback_1_32(sector_t (*)(mddev_t *, sector_t , int *, int), mddev_t *, long unsigned int, int *, int);
61 : void ldv_partially_ordered_scenario_callback_1_35(void *(*)(mddev_t *), mddev_t *);
62 : void ldv_partially_ordered_scenario_callback_1_4(int (*)(mddev_t *), mddev_t *);
63 : int ldv_partially_ordered_scenario_probe_1_11(int (*)(mddev_t *), mddev_t *);
64 : void ldv_partially_ordered_scenario_release_1_2(int (*)(mddev_t *), mddev_t *);
65 : int main(void);
66 :
67 : /* EMG variable declarations */
68 1 : struct ldv_thread ldv_thread_1;
69 1 : struct ldv_thread ldv_thread_2;
70 1 : struct ldv_thread ldv_thread_5;
71 :
72 : /* EMG variable initialization */
73 :
74 : /* EMG function definitions */
75 : /* AUX_FUNC ldv_dispatch_deregister_3_1 */
76 : void ldv_dispatch_deregister_3_1(struct mdk_personality *arg0) {
77 : struct ldv_struct_partially_ordered_scenario_1 *cf_arg_1;
78 : /* Skip thread join call */
79 1 : return;
80 : }
81 :
82 : /* AUX_FUNC ldv_dispatch_insmod_deregister_5_2 */
83 : void ldv_dispatch_insmod_deregister_5_2() {
84 : struct ldv_struct_main_5 *cf_arg_2;
85 : /* Skip thread join call */
86 1 : return;
87 : }
88 :
89 : /* AUX_FUNC ldv_dispatch_insmod_register_5_3 */
90 : void ldv_dispatch_insmod_register_5_3() {
91 : struct ldv_struct_main_5 *cf_arg_2;
92 4 : cf_arg_2 = ldv_xmalloc(sizeof(struct ldv_struct_main_5));
93 4 : ldv_insmod_2(cf_arg_2);
94 1 : return;
95 : }
96 :
97 : /* AUX_FUNC ldv_dispatch_register_4_3 */
98 : void ldv_dispatch_register_4_3(struct mdk_personality *arg0) {
99 : struct ldv_struct_partially_ordered_scenario_1 *cf_arg_1;
100 4 : cf_arg_1 = ldv_xmalloc(sizeof(struct ldv_struct_partially_ordered_scenario_1));
101 2 : cf_arg_1->arg0 = arg0;
102 2 : ldv_partially_ordered_scenario_1(cf_arg_1);
103 1 : return;
104 : }
105 :
106 : /* AUX_FUNC ldv_emg_register_md_personality */
107 : int ldv_emg_register_md_personality(struct mdk_personality *arg0) {
108 : /* LDV {"comment": "Control function 'register_md_personality'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_register_md_personality"} */
109 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
110 1 : struct mdk_personality *ldv_4_struct_mdk_personality_struct_mdk_personality;
111 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
112 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
113 :
114 4 : if (ldv_undef_int()) {
115 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_mdk_personality' callbacks to register."} */
116 1 : ldv_4_struct_mdk_personality_struct_mdk_personality = arg0;
117 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
118 :
119 : /* LDV {"action": "REGISTER", "type": "DISPATCH_BEGIN", "comment": "Register STRUCT_MDK_PERSONALITY callbacks."} */
120 2 : ldv_dispatch_register_4_3(ldv_4_struct_mdk_personality_struct_mdk_personality);
121 : /* LDV {"action": "REGISTER", "type": "DISPATCH_END"} */
122 :
123 : /* LDV {"action": "FAIL", "type": "CONDITION_BEGIN", "comment": "Fail registration of 'struct_mdk_personality' callbacks."} */
124 3 : return ldv_undef_int_negative();
125 : /* LDV {"action": "FAIL", "type": "CONDITION_END"} */
126 :
127 : /* Exit function at a terminal state */
128 : }
129 : else {
130 : /* LDV {"action": "SUCCESS", "type": "CONDITION_BEGIN", "comment": "Registration of 'struct_mdk_personality' callbacks has been successful."} */
131 1 : return 0;
132 : /* LDV {"action": "SUCCESS", "type": "CONDITION_END"} */
133 :
134 : /* Exit function at a terminal state */
135 : }
136 : /* End of the process */
137 : /* LDV {"comment": "End of control function based on process 'register_md_personality'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_register_md_personality"} */
138 : }
139 :
140 : /* AUX_FUNC ldv_emg_unregister_md_personality */
141 : int ldv_emg_unregister_md_personality(struct mdk_personality *arg0) {
142 : /* LDV {"comment": "Control function 'unregister_md_personality'", "type": "CONTROL_FUNCTION_BEGIN", "function": "ldv_emg_unregister_md_personality"} */
143 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
144 : struct mdk_personality *ldv_3_struct_mdk_personality_struct_mdk_personality;
145 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
146 : /* LDV {"action": "ASSIGN", "type": "CONDITION_BEGIN", "comment": "Get 'struct_mdk_personality' callbacks to deregister."} */
147 1 : ldv_3_struct_mdk_personality_struct_mdk_personality = arg0;
148 : /* LDV {"action": "ASSIGN", "type": "CONDITION_END"} */
149 :
150 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Deregister STRUCT_MDK_PERSONALITY callbacks."} */
151 2 : ldv_dispatch_deregister_3_1(ldv_3_struct_mdk_personality_struct_mdk_personality);
152 1 : /* LDV {"action": "DEREGISTER", "type": "DISPATCH_END"} */
153 :
154 : /* Exit function at a terminal state */
155 : /* End of the process */
156 : /* LDV {"comment": "End of control function based on process 'unregister_md_personality'", "type": "CONTROL_FUNCTION_END", "function": "ldv_emg_unregister_md_personality"} */
157 : }
158 :
159 : /* AUX_FUNC ldv_insmod_2 */
160 : void ldv_insmod_2(void *arg0) {
161 : /* LDV {"thread": 2, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'insmod(artificial)'", "function": "ldv_insmod_2"} */
162 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
163 1 : void (*ldv_2_raid_exit_default)(void);
164 1 : int (*ldv_2_raid_init_default)(void);
165 1 : int ldv_2_ret_default;
166 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
167 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module initialization."} */
168 2 : ldv_free(arg0);
169 : /* LDV {"action": "INSMOD_REGISTER", "type": "RECEIVE_END"} */
170 :
171 : /* LDV {"action": "RAID_INIT", "type": "CALL_BEGIN", "callback": true, "comment": "Initialize the module after insmod with 'raid_init' function. Invoke callback raid_init from ARTIFICIAL."} */
172 : /* LDV {"type": "CALLBACK", "call": "ldv_2_ret_default = (raid_init)();", "comment": "raid_init"} */
173 2 : ldv_2_ret_default = ldv_insmod_raid_init_2_6(ldv_2_raid_init_default);
174 : /* Callback post-call */
175 2 : ldv_2_ret_default = ldv_post_init(ldv_2_ret_default);
176 : /* LDV {"action": "RAID_INIT", "type": "CALL_END"} */
177 :
178 4 : if (ldv_undef_int()) {
179 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_BEGIN", "comment": "Failed to initialize the module."} */
180 2 : ldv_assume(ldv_2_ret_default != 0);
181 : /* LDV {"action": "INIT_FAILED", "type": "CONDITION_END"} */
182 :
183 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
184 : /* Skip a non-replicative signal receiving */
185 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
186 :
187 : /* Exit function at a terminal state */
188 1 : return;
189 : }
190 : else {
191 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_BEGIN", "comment": "Module has been initialized."} */
192 2 : ldv_assume(ldv_2_ret_default == 0);
193 : /* LDV {"action": "INIT_SUCCESS", "type": "CONDITION_END"} */
194 :
195 : /* LDV {"action": "RAID_EXIT", "type": "CALL_BEGIN", "callback": true, "comment": "Exit the module before its unloading with 'raid_exit' function. Invoke callback raid_exit from ARTIFICIAL."} */
196 : /* LDV {"type": "CALLBACK", "call": "(raid_exit)();", "comment": "raid_exit"} */
197 2 : ldv_insmod_raid_exit_2_2(ldv_2_raid_exit_default);
198 : /* LDV {"action": "RAID_EXIT", "type": "CALL_END"} */
199 :
200 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Trigger module exit."} */
201 : /* Skip a non-replicative signal receiving */
202 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "RECEIVE_END"} */
203 :
204 : /* Exit function at a terminal state */
205 1 : return;
206 : }
207 : /* End of the process */
208 : return;
209 : /* LDV {"comment": "End of control function based on process 'insmod(artificial)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_insmod_2"} */
210 : }
211 :
212 : /* AUX_FUNC_CALLBACK ldv_insmod_raid_exit_2_2 */
213 : void ldv_insmod_raid_exit_2_2(void (*arg0)(void)) {
214 2 : (raid_exit)();
215 1 : }
216 :
217 : /* AUX_FUNC_CALLBACK ldv_insmod_raid_init_2_6 */
218 : int ldv_insmod_raid_init_2_6(int (*arg0)(void)) {
219 3 : return (raid_init)();
220 1 : }
221 :
222 : /* AUX_FUNC ldv_main_5 */
223 : void ldv_main_5(void *arg0) {
224 : /* LDV {"thread": 5, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'main(main)'", "function": "ldv_main_5"} */
225 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
226 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
227 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Initialize rule models."} */
228 1 : ldv_initialize();
229 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
230 :
231 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_BEGIN", "comment": "Start environment model scenarios."} */
232 2 : ldv_dispatch_insmod_register_5_3();
233 : /* LDV {"action": "INSMOD_REGISTER", "type": "DISPATCH_END"} */
234 :
235 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_BEGIN", "comment": "Stop environment model scenarios."} */
236 2 : ldv_dispatch_insmod_deregister_5_2();
237 : /* LDV {"action": "INSMOD_DEREGISTER", "type": "DISPATCH_END"} */
238 :
239 : /* LDV {"action": "FINAL", "type": "CONDITION_BEGIN", "comment": "Check rule model state at the exit."} */
240 1 : ldv_check_final_state();
241 1 : ldv_stop();
242 : /* LDV {"action": "FINAL", "type": "CONDITION_END"} */
243 :
244 : /* Exit function at a terminal state */
245 0 : return;
246 : /* End of the process */
247 : return;
248 : /* LDV {"comment": "End of control function based on process 'main(main)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_main_5"} */
249 : }
250 :
251 : /* AUX_FUNC ldv_partially_ordered_scenario_1 */
252 : void ldv_partially_ordered_scenario_1(void *arg0) {
253 : /* LDV {"thread": 1, "type": "CONTROL_FUNCTION_BEGIN", "comment": "Control function 'partially_ordered_scenario(struct_mdk_personality)'", "function": "ldv_partially_ordered_scenario_1"} */
254 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_BEGIN", "comment": "Declare auxiliary variables."} */
255 1 : int (*ldv_1_callback_check_reshape)(mddev_t *);
256 1 : void (*ldv_1_callback_error_handler)(mddev_t *, mdk_rdev_t *);
257 1 : int (*ldv_1_callback_hot_add_disk)(mddev_t *, mdk_rdev_t *);
258 1 : int (*ldv_1_callback_hot_remove_disk)(mddev_t *, int);
259 1 : int (*ldv_1_callback_make_request)(struct request_queue *, struct bio *);
260 1 : void (*ldv_1_callback_quiesce)(mddev_t *, int);
261 1 : int (*ldv_1_callback_resize)(mddev_t *, sector_t );
262 1 : sector_t (*ldv_1_callback_size)(mddev_t *, sector_t , int);
263 1 : int (*ldv_1_callback_spare_active)(mddev_t *);
264 1 : void (*ldv_1_callback_status)(struct seq_file *, mddev_t *);
265 1 : sector_t (*ldv_1_callback_sync_request)(mddev_t *, sector_t , int *, int);
266 1 : void *(*ldv_1_callback_takeover)(mddev_t *);
267 1 : struct mdk_personality *ldv_1_container_struct_mdk_personality;
268 1 : int ldv_1_ldv_param_17_1_default;
269 1 : int ldv_1_ldv_param_21_1_default;
270 1 : long unsigned int ldv_1_ldv_param_24_1_default;
271 1 : long unsigned int ldv_1_ldv_param_27_1_default;
272 1 : int ldv_1_ldv_param_27_2_default;
273 1 : long unsigned int ldv_1_ldv_param_32_1_default;
274 1 : int *ldv_1_ldv_param_32_2_default;
275 1 : int ldv_1_ldv_param_32_3_default;
276 1 : struct bio *ldv_1_resource_struct_bio_ptr;
277 1 : struct mddev_s *ldv_1_resource_struct_mddev_s_ptr;
278 1 : struct mdk_rdev_s *ldv_1_resource_struct_mdk_rdev_s_ptr;
279 1 : struct request_queue *ldv_1_resource_struct_request_queue_ptr;
280 1 : struct seq_file *ldv_1_resource_struct_seq_file_ptr;
281 1 : int ldv_1_ret_default;
282 1 : /* Received labels */
283 2 : struct ldv_struct_partially_ordered_scenario_1 *data = (struct ldv_struct_partially_ordered_scenario_1*) arg0;
284 1 :
285 1 : /* LDV {"type": "CONTROL_FUNCTION_INIT_END", "comment": "Declare auxiliary variables."} */
286 1 : /* Initialize automaton variables */
287 2 : ldv_1_ret_default = 1;
288 1 : /* LDV {"action": "REGISTER", "type": "RECEIVE_BEGIN", "comment": "Begin STRUCT_MDK_PERSONALITY callbacks invocations scenario."} */
289 1 : /* Assign recieved labels */
290 3 : if (data) {
291 1 : ldv_1_container_struct_mdk_personality = data->arg0;
292 2 : ldv_free(data);
293 : }
294 : /* LDV {"action": "REGISTER", "type": "RECEIVE_END"} */
295 :
296 : /* LDV {"action": "INIT", "type": "CONDITION_BEGIN", "comment": "Alloc memory for common callback arguments."} */
297 5 : ldv_1_resource_struct_bio_ptr = ldv_xmalloc_unknown_size(0);
298 3 : ldv_1_resource_struct_mddev_s_ptr = ldv_xmalloc_unknown_size(0);
299 3 : ldv_1_resource_struct_mdk_rdev_s_ptr = ldv_xmalloc_unknown_size(0);
300 3 : ldv_1_resource_struct_request_queue_ptr = ldv_xmalloc_unknown_size(0);
301 3 : ldv_1_resource_struct_seq_file_ptr = ldv_xmalloc_unknown_size(0);
302 : /* LDV {"action": "INIT", "type": "CONDITION_END"} */
303 :
304 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Start with an initialization callback."} */
305 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
306 :
307 : /* Jump to a subprocess 'main' initial state */
308 1 : goto ldv_main_1;
309 : /* End of the process */
310 : return;
311 1 :
312 : /* Sbprocess main */
313 : ldv_main_1:
314 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
315 :
316 4 : if (ldv_undef_int()) {
317 : /* LDV {"action": "PROBE", "type": "CALL_BEGIN", "callback": true, "comment": "Call an initialization callback. Invoke callback run from mdk_personality."} */
318 : /* LDV {"type": "CALLBACK", "call": "ldv_1_ret_default = ((& run))(ldv_1_resource_struct_mddev_s_ptr);", "comment": "probe"} */
319 2 : ldv_1_ret_default = ldv_partially_ordered_scenario_probe_1_11(ldv_1_container_struct_mdk_personality->run, ldv_1_resource_struct_mddev_s_ptr);
320 : /* Callback post-call */
321 2 : ldv_1_ret_default = ldv_filter_err_code(ldv_1_ret_default);
322 : /* LDV {"action": "PROBE", "type": "CALL_END"} */
323 :
324 4 : if (ldv_undef_int()) {
325 : /* LDV {"action": "Y_RET", "type": "CONDITION_BEGIN", "comment": "Initialization has been successful."} */
326 2 : ldv_assume(ldv_1_ret_default == 0);
327 : /* LDV {"action": "Y_RET", "type": "CONDITION_END"} */
328 :
329 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
330 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
331 :
332 : /* Jump to a subprocess 'call' initial state */
333 1 : goto ldv_call_1;
334 : }
335 : else {
336 : /* LDV {"action": "N_RET", "type": "CONDITION_BEGIN", "comment": "Initialization has failed."} */
337 2 : ldv_assume(ldv_1_ret_default != 0);
338 : /* LDV {"action": "N_RET", "type": "CONDITION_END"} */
339 :
340 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Start with an initialization callback."} */
341 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
342 :
343 : /* Jump to a subprocess 'main' initial state */
344 1 : goto ldv_main_1;
345 : }
346 : }
347 : else {
348 : /* LDV {"action": "FREE", "type": "CONDITION_BEGIN", "comment": "Free memory for common callback arguments."} */
349 2 : ldv_free(ldv_1_resource_struct_bio_ptr);
350 2 : ldv_free(ldv_1_resource_struct_mddev_s_ptr);
351 2 : ldv_free(ldv_1_resource_struct_mdk_rdev_s_ptr);
352 2 : ldv_free(ldv_1_resource_struct_request_queue_ptr);
353 2 : ldv_free(ldv_1_resource_struct_seq_file_ptr);
354 : /* LDV {"action": "FREE", "type": "CONDITION_END"} */
355 :
356 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_BEGIN", "comment": "Finish STRUCT_MDK_PERSONALITY callbacks invocations scenario."} */
357 : /* Skip a non-replicative signal receiving */
358 : /* LDV {"action": "DEREGISTER", "type": "RECEIVE_END"} */
359 :
360 : /* Exit function at a terminal state */
361 1 : return;
362 : }
363 : /* End of the subprocess 'main' */
364 : return;
365 1 :
366 : /* Sbprocess call */
367 : ldv_call_1:
368 : /* LDV {"action": null, "type": "ARTIFICIAL", "comment": "Artificial state in scenario"} */
369 :
370 2 : switch (ldv_undef_int()) {
371 3 : case 1: {
372 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback takeover from mdk_personality."} */
373 : /* LDV {"type": "CALLBACK", "call": "((& raid1_takeover))(ldv_1_resource_struct_mddev_s_ptr);", "comment": "callback"} */
374 2 : ldv_partially_ordered_scenario_callback_1_35(ldv_1_callback_takeover, ldv_1_resource_struct_mddev_s_ptr);
375 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
376 :
377 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
378 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
379 :
380 : /* Jump to a subprocess 'call' initial state */
381 1 : goto ldv_call_1;
382 1 : break;
383 : }
384 3 : case 2: {
385 : /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
386 3 : ldv_1_ldv_param_32_2_default = ldv_xmalloc_unknown_size(0);
387 : /* LDV {"action": "PRE_CALL_32", "type": "CONDITION_END"} */
388 :
389 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback sync_request from mdk_personality."} */
390 : /* LDV {"type": "CALLBACK", "call": "((& sync_request))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_32_1_default, ldv_1_ldv_param_32_2_default, ldv_1_ldv_param_32_3_default);", "comment": "callback"} */
391 2 : ldv_partially_ordered_scenario_callback_1_32(ldv_1_callback_sync_request, ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_32_1_default, ldv_1_ldv_param_32_2_default, ldv_1_ldv_param_32_3_default);
392 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
393 :
394 : /* LDV {"action": "POST_CALL_32", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
395 2 : ldv_free(ldv_1_ldv_param_32_2_default);
396 : /* LDV {"action": "POST_CALL_32", "type": "CONDITION_END"} */
397 :
398 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
399 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
400 :
401 : /* Jump to a subprocess 'call' initial state */
402 1 : goto ldv_call_1;
403 : /* Jump to a subprocess 'call' initial state */
404 : goto ldv_call_1;
405 1 : break;
406 : }
407 3 : case 3: {
408 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback status from mdk_personality."} */
409 : /* LDV {"type": "CALLBACK", "call": "((& status))(ldv_1_resource_struct_seq_file_ptr, ldv_1_resource_struct_mddev_s_ptr);", "comment": "callback"} */
410 2 : ldv_partially_ordered_scenario_callback_1_31(ldv_1_callback_status, ldv_1_resource_struct_seq_file_ptr, ldv_1_resource_struct_mddev_s_ptr);
411 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
412 :
413 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
414 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
415 :
416 : /* Jump to a subprocess 'call' initial state */
417 1 : goto ldv_call_1;
418 : /* Jump to a subprocess 'call' initial state */
419 : goto ldv_call_1;
420 : /* Jump to a subprocess 'call' initial state */
421 : goto ldv_call_1;
422 1 : break;
423 : }
424 3 : case 4: {
425 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback spare_active from mdk_personality."} */
426 : /* LDV {"type": "CALLBACK", "call": "((& raid1_spare_active))(ldv_1_resource_struct_mddev_s_ptr);", "comment": "callback"} */
427 2 : ldv_partially_ordered_scenario_callback_1_30(ldv_1_callback_spare_active, ldv_1_resource_struct_mddev_s_ptr);
428 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
429 :
430 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
431 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
432 :
433 : /* Jump to a subprocess 'call' initial state */
434 1 : goto ldv_call_1;
435 : /* Jump to a subprocess 'call' initial state */
436 : goto ldv_call_1;
437 : /* Jump to a subprocess 'call' initial state */
438 : goto ldv_call_1;
439 : /* Jump to a subprocess 'call' initial state */
440 : goto ldv_call_1;
441 1 : break;
442 : }
443 3 : case 5: {
444 : /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
445 : /* LDV {"action": "PRE_CALL_27", "type": "CONDITION_END"} */
446 :
447 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback size from mdk_personality."} */
448 : /* LDV {"type": "CALLBACK", "call": "((& raid1_size))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_27_1_default, ldv_1_ldv_param_27_2_default);", "comment": "callback"} */
449 2 : ldv_partially_ordered_scenario_callback_1_27(ldv_1_callback_size, ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_27_1_default, ldv_1_ldv_param_27_2_default);
450 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
451 :
452 : /* LDV {"action": "POST_CALL_27", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
453 : /* LDV {"action": "POST_CALL_27", "type": "CONDITION_END"} */
454 :
455 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
456 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
457 :
458 : /* Jump to a subprocess 'call' initial state */
459 1 : goto ldv_call_1;
460 : /* Jump to a subprocess 'call' initial state */
461 : goto ldv_call_1;
462 : /* Jump to a subprocess 'call' initial state */
463 : goto ldv_call_1;
464 : /* Jump to a subprocess 'call' initial state */
465 : goto ldv_call_1;
466 : /* Jump to a subprocess 'call' initial state */
467 : goto ldv_call_1;
468 1 : break;
469 : }
470 3 : case 6: {
471 : /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
472 : /* LDV {"action": "PRE_CALL_24", "type": "CONDITION_END"} */
473 :
474 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback resize from mdk_personality."} */
475 : /* LDV {"type": "CALLBACK", "call": "((& raid1_resize))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_24_1_default);", "comment": "callback"} */
476 2 : ldv_partially_ordered_scenario_callback_1_24(ldv_1_callback_resize, ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_24_1_default);
477 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
478 :
479 : /* LDV {"action": "POST_CALL_24", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
480 : /* LDV {"action": "POST_CALL_24", "type": "CONDITION_END"} */
481 :
482 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
483 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
484 :
485 : /* Jump to a subprocess 'call' initial state */
486 1 : goto ldv_call_1;
487 : /* Jump to a subprocess 'call' initial state */
488 : goto ldv_call_1;
489 : /* Jump to a subprocess 'call' initial state */
490 : goto ldv_call_1;
491 : /* Jump to a subprocess 'call' initial state */
492 : goto ldv_call_1;
493 : /* Jump to a subprocess 'call' initial state */
494 : goto ldv_call_1;
495 : /* Jump to a subprocess 'call' initial state */
496 : goto ldv_call_1;
497 1 : break;
498 : }
499 3 : case 7: {
500 : /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
501 : /* LDV {"action": "PRE_CALL_21", "type": "CONDITION_END"} */
502 :
503 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback quiesce from mdk_personality."} */
504 : /* LDV {"type": "CALLBACK", "call": "((& raid1_quiesce))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_21_1_default);", "comment": "callback"} */
505 2 : ldv_partially_ordered_scenario_callback_1_21(ldv_1_callback_quiesce, ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_21_1_default);
506 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
507 :
508 : /* LDV {"action": "POST_CALL_21", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
509 : /* LDV {"action": "POST_CALL_21", "type": "CONDITION_END"} */
510 :
511 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
512 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
513 :
514 : /* Jump to a subprocess 'call' initial state */
515 1 : goto ldv_call_1;
516 : /* Jump to a subprocess 'call' initial state */
517 : goto ldv_call_1;
518 : /* Jump to a subprocess 'call' initial state */
519 : goto ldv_call_1;
520 : /* Jump to a subprocess 'call' initial state */
521 : goto ldv_call_1;
522 : /* Jump to a subprocess 'call' initial state */
523 : goto ldv_call_1;
524 : /* Jump to a subprocess 'call' initial state */
525 : goto ldv_call_1;
526 : /* Jump to a subprocess 'call' initial state */
527 : goto ldv_call_1;
528 1 : break;
529 : }
530 3 : case 8: {
531 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback make_request from mdk_personality."} */
532 : /* LDV {"type": "CALLBACK", "call": "((& make_request))(ldv_1_resource_struct_request_queue_ptr, ldv_1_resource_struct_bio_ptr);", "comment": "callback"} */
533 2 : ldv_partially_ordered_scenario_callback_1_20(ldv_1_callback_make_request, ldv_1_resource_struct_request_queue_ptr, ldv_1_resource_struct_bio_ptr);
534 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
535 :
536 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
537 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
538 :
539 : /* Jump to a subprocess 'call' initial state */
540 1 : goto ldv_call_1;
541 : /* Jump to a subprocess 'call' initial state */
542 : goto ldv_call_1;
543 : /* Jump to a subprocess 'call' initial state */
544 : goto ldv_call_1;
545 : /* Jump to a subprocess 'call' initial state */
546 : goto ldv_call_1;
547 : /* Jump to a subprocess 'call' initial state */
548 : goto ldv_call_1;
549 : /* Jump to a subprocess 'call' initial state */
550 : goto ldv_call_1;
551 : /* Jump to a subprocess 'call' initial state */
552 : goto ldv_call_1;
553 : /* Jump to a subprocess 'call' initial state */
554 : goto ldv_call_1;
555 1 : break;
556 : }
557 3 : case 9: {
558 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_BEGIN", "comment": "Allocate memory for adhoc callback parameters."} */
559 : /* LDV {"action": "PRE_CALL_17", "type": "CONDITION_END"} */
560 :
561 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback hot_remove_disk from mdk_personality."} */
562 : /* LDV {"type": "CALLBACK", "call": "((& raid1_remove_disk))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_17_1_default);", "comment": "callback"} */
563 2 : ldv_partially_ordered_scenario_callback_1_17(ldv_1_callback_hot_remove_disk, ldv_1_resource_struct_mddev_s_ptr, ldv_1_ldv_param_17_1_default);
564 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
565 :
566 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_BEGIN", "comment": "Free memory of adhoc callback parameters."} */
567 : /* LDV {"action": "POST_CALL_17", "type": "CONDITION_END"} */
568 :
569 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
570 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
571 :
572 : /* Jump to a subprocess 'call' initial state */
573 1 : goto ldv_call_1;
574 : /* Jump to a subprocess 'call' initial state */
575 : goto ldv_call_1;
576 : /* Jump to a subprocess 'call' initial state */
577 : goto ldv_call_1;
578 : /* Jump to a subprocess 'call' initial state */
579 : goto ldv_call_1;
580 : /* Jump to a subprocess 'call' initial state */
581 : goto ldv_call_1;
582 : /* Jump to a subprocess 'call' initial state */
583 : goto ldv_call_1;
584 : /* Jump to a subprocess 'call' initial state */
585 : goto ldv_call_1;
586 : /* Jump to a subprocess 'call' initial state */
587 : goto ldv_call_1;
588 : /* Jump to a subprocess 'call' initial state */
589 : goto ldv_call_1;
590 1 : break;
591 : }
592 3 : case 10: {
593 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback hot_add_disk from mdk_personality."} */
594 : /* LDV {"type": "CALLBACK", "call": "((& raid1_add_disk))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_resource_struct_mdk_rdev_s_ptr);", "comment": "callback"} */
595 2 : ldv_partially_ordered_scenario_callback_1_16(ldv_1_callback_hot_add_disk, ldv_1_resource_struct_mddev_s_ptr, ldv_1_resource_struct_mdk_rdev_s_ptr);
596 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
597 :
598 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
599 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
600 :
601 : /* Jump to a subprocess 'call' initial state */
602 1 : goto ldv_call_1;
603 : /* Jump to a subprocess 'call' initial state */
604 : goto ldv_call_1;
605 : /* Jump to a subprocess 'call' initial state */
606 : goto ldv_call_1;
607 : /* Jump to a subprocess 'call' initial state */
608 : goto ldv_call_1;
609 : /* Jump to a subprocess 'call' initial state */
610 : goto ldv_call_1;
611 : /* Jump to a subprocess 'call' initial state */
612 : goto ldv_call_1;
613 : /* Jump to a subprocess 'call' initial state */
614 : goto ldv_call_1;
615 : /* Jump to a subprocess 'call' initial state */
616 : goto ldv_call_1;
617 : /* Jump to a subprocess 'call' initial state */
618 : goto ldv_call_1;
619 : /* Jump to a subprocess 'call' initial state */
620 : goto ldv_call_1;
621 1 : break;
622 : }
623 3 : case 11: {
624 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback error_handler from mdk_personality."} */
625 : /* LDV {"type": "CALLBACK", "call": "((& error))(ldv_1_resource_struct_mddev_s_ptr, ldv_1_resource_struct_mdk_rdev_s_ptr);", "comment": "callback"} */
626 2 : ldv_partially_ordered_scenario_callback_1_15(ldv_1_callback_error_handler, ldv_1_resource_struct_mddev_s_ptr, ldv_1_resource_struct_mdk_rdev_s_ptr);
627 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
628 :
629 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
630 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
631 :
632 : /* Jump to a subprocess 'call' initial state */
633 1 : goto ldv_call_1;
634 : /* Jump to a subprocess 'call' initial state */
635 : goto ldv_call_1;
636 : /* Jump to a subprocess 'call' initial state */
637 : goto ldv_call_1;
638 : /* Jump to a subprocess 'call' initial state */
639 : goto ldv_call_1;
640 : /* Jump to a subprocess 'call' initial state */
641 : goto ldv_call_1;
642 : /* Jump to a subprocess 'call' initial state */
643 : goto ldv_call_1;
644 : /* Jump to a subprocess 'call' initial state */
645 : goto ldv_call_1;
646 : /* Jump to a subprocess 'call' initial state */
647 : goto ldv_call_1;
648 : /* Jump to a subprocess 'call' initial state */
649 : goto ldv_call_1;
650 : /* Jump to a subprocess 'call' initial state */
651 : goto ldv_call_1;
652 : /* Jump to a subprocess 'call' initial state */
653 : goto ldv_call_1;
654 1 : break;
655 : }
656 3 : case 12: {
657 : /* LDV {"action": "CALLBACK", "type": "CALL_BEGIN", "callback": true, "comment": "Call any random callback. Invoke callback check_reshape from mdk_personality."} */
658 : /* LDV {"type": "CALLBACK", "call": "((& raid1_reshape))(ldv_1_resource_struct_mddev_s_ptr);", "comment": "callback"} */
659 2 : ldv_partially_ordered_scenario_callback_1_4(ldv_1_callback_check_reshape, ldv_1_resource_struct_mddev_s_ptr);
660 : /* LDV {"action": "CALLBACK", "type": "CALL_END"} */
661 :
662 : /* LDV {"action": "CALL", "type": "SUBPROCESS_BEGIN", "comment": "Initializations are done, proceed to the other callbacks."} */
663 : /* LDV {"action": "CALL", "type": "SUBPROCESS_END"} */
664 :
665 : /* Jump to a subprocess 'call' initial state */
666 1 : goto ldv_call_1;
667 : /* Jump to a subprocess 'call' initial state */
668 : goto ldv_call_1;
669 : /* Jump to a subprocess 'call' initial state */
670 : goto ldv_call_1;
671 : /* Jump to a subprocess 'call' initial state */
672 : goto ldv_call_1;
673 : /* Jump to a subprocess 'call' initial state */
674 : goto ldv_call_1;
675 : /* Jump to a subprocess 'call' initial state */
676 : goto ldv_call_1;
677 : /* Jump to a subprocess 'call' initial state */
678 : goto ldv_call_1;
679 : /* Jump to a subprocess 'call' initial state */
680 : goto ldv_call_1;
681 : /* Jump to a subprocess 'call' initial state */
682 : goto ldv_call_1;
683 : /* Jump to a subprocess 'call' initial state */
684 : goto ldv_call_1;
685 : /* Jump to a subprocess 'call' initial state */
686 : goto ldv_call_1;
687 : /* Jump to a subprocess 'call' initial state */
688 : goto ldv_call_1;
689 1 : break;
690 : }
691 3 : case 13: {
692 : /* LDV {"action": "RELEASE", "type": "CALL_BEGIN", "callback": true, "comment": "Do uninitializations before deregistration. Invoke callback stop from mdk_personality."} */
693 : /* LDV {"type": "CALLBACK", "call": "((& stop))(ldv_1_resource_struct_mddev_s_ptr);", "comment": "release"} */
694 2 : ldv_partially_ordered_scenario_release_1_2(ldv_1_container_struct_mdk_personality->stop, ldv_1_resource_struct_mddev_s_ptr);
695 : /* LDV {"action": "RELEASE", "type": "CALL_END"} */
696 :
697 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_BEGIN", "comment": "Start with an initialization callback."} */
698 : /* LDV {"action": "MAIN", "type": "SUBPROCESS_END"} */
699 :
700 : /* Jump to a subprocess 'main' initial state */
701 1 : goto ldv_main_1;
702 1 : break;
703 : }
704 2 : default: ldv_stop();
705 1 : }
706 0 : /* End of the subprocess 'call' */
707 0 : return;
708 : /* LDV {"comment": "End of control function based on process 'partially_ordered_scenario(struct_mdk_personality)'", "type": "CONTROL_FUNCTION_END", "function": "ldv_partially_ordered_scenario_1"} */
709 : }
710 :
711 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_15 */
712 : void ldv_partially_ordered_scenario_callback_1_15(void (*arg0)(mddev_t *, mdk_rdev_t *), struct mddev_s *arg1, struct mdk_rdev_s *arg2) {
713 3 : ((& error))(arg1, arg2);
714 1 : }
715 :
716 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_16 */
717 : void ldv_partially_ordered_scenario_callback_1_16(int (*arg0)(mddev_t *, mdk_rdev_t *), struct mddev_s *arg1, struct mdk_rdev_s *arg2) {
718 2 : ((& raid1_add_disk))(arg1, arg2);
719 1 : }
720 :
721 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_17 */
722 : void ldv_partially_ordered_scenario_callback_1_17(int (*arg0)(mddev_t *, int), struct mddev_s *arg1, int arg2) {
723 2 : ((& raid1_remove_disk))(arg1, arg2);
724 1 : }
725 :
726 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_20 */
727 : void ldv_partially_ordered_scenario_callback_1_20(int (*arg0)(struct request_queue *, struct bio *), struct request_queue *arg1, struct bio *arg2) {
728 5 : ((& make_request))(arg1, arg2);
729 1 : }
730 :
731 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_21 */
732 : void ldv_partially_ordered_scenario_callback_1_21(void (*arg0)(mddev_t *, int), struct mddev_s *arg1, int arg2) {
733 4 : ((& raid1_quiesce))(arg1, arg2);
734 1 : }
735 :
736 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_24 */
737 : void ldv_partially_ordered_scenario_callback_1_24(int (*arg0)(mddev_t *, sector_t ), struct mddev_s *arg1, long unsigned int arg2) {
738 4 : ((& raid1_resize))(arg1, arg2);
739 1 : }
740 :
741 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_27 */
742 : void ldv_partially_ordered_scenario_callback_1_27(sector_t (*arg0)(mddev_t *, sector_t , int), struct mddev_s *arg1, long unsigned int arg2, int arg3) {
743 2 : ((& raid1_size))(arg1, arg2, arg3);
744 1 : }
745 :
746 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_30 */
747 : void ldv_partially_ordered_scenario_callback_1_30(int (*arg0)(mddev_t *), struct mddev_s *arg1) {
748 2 : ((& raid1_spare_active))(arg1);
749 1 : }
750 :
751 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_31 */
752 : void ldv_partially_ordered_scenario_callback_1_31(void (*arg0)(struct seq_file *, mddev_t *), struct seq_file *arg1, struct mddev_s *arg2) {
753 2 : ((& status))(arg1, arg2);
754 1 : }
755 :
756 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_32 */
757 : void ldv_partially_ordered_scenario_callback_1_32(sector_t (*arg0)(mddev_t *, sector_t , int *, int), struct mddev_s *arg1, long unsigned int arg2, int *arg3, int arg4) {
758 8 : ((& sync_request))(arg1, arg2, arg3, arg4);
759 1 : }
760 :
761 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_35 */
762 : void ldv_partially_ordered_scenario_callback_1_35(void *(*arg0)(mddev_t *), struct mddev_s *arg1) {
763 3 : ((& raid1_takeover))(arg1);
764 1 : }
765 :
766 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_callback_1_4 */
767 : void ldv_partially_ordered_scenario_callback_1_4(int (*arg0)(mddev_t *), struct mddev_s *arg1) {
768 6 : ((& raid1_reshape))(arg1);
769 1 : }
770 :
771 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_probe_1_11 */
772 : int ldv_partially_ordered_scenario_probe_1_11(int (*arg0)(mddev_t *), struct mddev_s *arg1) {
773 6 : return ((& run))(arg1);
774 1 : }
775 :
776 : /* AUX_FUNC_CALLBACK ldv_partially_ordered_scenario_release_1_2 */
777 : void ldv_partially_ordered_scenario_release_1_2(int (*arg0)(mddev_t *), struct mddev_s *arg1) {
778 2 : ((& stop))(arg1);
779 1 : }
780 :
781 : /* AUX_FUNC main */
782 : int main() {
783 1 : ldv_main_5(0);
784 0 : return 0;
785 : }
786 :
787 :
788 : /* AUX_FUNC ERR_PTR */
789 : static inline void *ERR_PTR (long int error)
790 : {
791 15 :
792 45 : return ldv_err_ptr(error);
793 : }
794 :
795 : /* AUX_FUNC PTR_ERR */
796 : static inline long int PTR_ERR (void const *ptr)
797 : {
798 1 :
799 3 : return ldv_ptr_err(ptr);
800 : }
801 :
802 : /* AUX_FUNC IS_ERR */
803 : static inline long int IS_ERR (void const *ptr)
804 : {
805 3 :
806 9 : return ldv_is_err(ptr);
807 : }
808 :
809 : /* AUX_FUNC IS_ERR_OR_NULL */
810 : static inline long int IS_ERR_OR_NULL (void const *ptr)
811 : {
812 :
813 : return ldv_is_err_or_null(ptr);
814 : }
815 :
816 : /* AUX_FUNC kzalloc */
817 : static inline void *kzalloc (size_t size, gfp_t flags)
818 : {
819 8 :
820 24 : return ldv_kzalloc(size, flags);
821 : }
822 :
823 : /* AUX_FUNC ldv_register_md_personality_6 */
824 : int ldv_register_md_personality_6 (struct mdk_personality *ldv_func_arg1)
825 : {
826 1 :
827 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'register_md_personality'"} */
828 4 : return ldv_emg_register_md_personality(ldv_func_arg1);
829 : }
830 :
831 : /* AUX_FUNC ldv_unregister_md_personality_7 */
832 : int ldv_unregister_md_personality_7 (struct mdk_personality *ldv_func_arg1)
833 : {
834 1 :
835 : /* LDV {"type": "KERNEL_MODEL", "comment": "Perform the model code of the function 'unregister_md_personality'"} */
836 3 : return ldv_emg_unregister_md_personality(ldv_func_arg1);
837 : }
|