LCOV - code coverage report
Current view: top level - home/alexey/klever/native-scheduler-work-dir/native-scheduler-work-dir/scheduler/jobs/032ed983781f2acce615a4df71b22f31/klever-core-work-dir/0f4725e/linux-drivers-clk2/avtg/drivers/md/raid1.ko/linux:drivers:clk2/weaver - raid1.c.aux (source / functions) Hit Total Coverage
Test: coverage.info Lines: 206 210 98.1 %
Date: 2017-01-25 Functions: 32 32 100.0 %

          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             : }

Generated by: LCOV version 1.10