Exemple #1
0
/*static void default_performance(void *p_data, perf_check_point_t check, u32 context1, u32 context2)
{

}*/
static void scan_start(scan_priv_t *p_priv, os_msg_t *p_msg)
{
  scan_policy_t *p_policy = (scan_policy_t *)p_msg->para1;
  dvb_t *p_dvb = class_get_handle_by_id(DVB_CLASS_ID);
  MT_ASSERT(p_policy != NULL);

  // Attach tp or bs implement constructed by scan mode and the
  // implementation of blind scan or tp scan vary with projects
  p_priv->p_policy = p_policy;
  if(p_policy->performance == NULL)
  {
    p_policy->performance = NULL;
  }
  p_priv->p_priv_data->p_rt_data = (running_data_t *)
    p_policy->require_runingtime_buffer(p_policy->p_priv_data,
    sizeof(running_data_t));
  MT_ASSERT(p_priv->p_priv_data->p_rt_data != NULL);
  memset(p_priv->p_priv_data->p_rt_data, 0, sizeof(running_data_t));
  init_para(p_priv->p_priv_data);
  p_priv->p_priv_data->p_dvb_svc = p_dvb->get_svc_instance(p_dvb, APP_SCAN);
  p_priv->scan_app.process_msg = scan_process_msg_runing;  //start running
}
Exemple #2
0
static void scan_state_machine(void *p_handle)
{
  scan_priv_t *p_scan_priv = (scan_priv_t *)p_handle;
  scan_policy_t *p_scan_policy = p_scan_priv->p_policy;
  scan_data_t *p_scan_data = p_scan_priv->p_priv_data;
  find_tp_ret_t ret = FIND_SUC;
  class_handle_t nc_handle = class_get_handle_by_id(NC_CLASS_ID);
  event_t evt = {0};

  // State machine
  switch(p_scan_data->state)
  {
    case SCAN_IDLE:
      break;
    case SCAN_GET_TP:
      // Get current tp information
      //log_perf(LOG_AP_SCAN, PERF_GET_TP_BEGIN,0,0);
      //log_perf(LOG_AP_SCAN, PERF_GET_ONETP_BEGIN,0,0);
      ret = p_scan_policy->get_tp_info(p_scan_policy->p_priv_data,
        &p_scan_data->p_rt_data->find_tp);

      if(FIND_SUC == ret) //found new tp
      {
        log_perf(LOG_AP_SCAN, PERF_GET_TP_END,
         p_scan_data->p_rt_data->find_tp.channel_info.frequency,0);
        p_scan_data->state = SCAN_LOCK_TP;
      }
      else if(FIND_DONE == ret)
      {
        log_perf(LOG_AP_SCAN, PERF_END,0,0);
        p_scan_data->state = SCAN_FINISHED;
      }
      else if(FIND_BUSY == ret)
      {
        //waiting....
      }
      else
      {
        //what's happend? UFO?
        MT_ASSERT(0);
      }
      break;
    case SCAN_LOCK_TP:
      //Set current tp information
      log_perf(LOG_AP_SCAN,PERF_DO_LOCK, 0, 0);
      nc_set_tp(nc_handle, p_scan_data->p_nc_svc,
        &p_scan_data->p_rt_data->find_tp);
      p_scan_data->p_rt_data->job_dbg_info.spend_ticks = mtos_ticks_get();

      //reset parameter
      init_para(p_scan_data);
      memcpy(&p_scan_data->p_rt_data->result.tp_info,
        &p_scan_data->p_rt_data->find_tp, sizeof(nc_channel_info_t));

      //Wait new the lock status of recently set tp
      p_scan_data->state = SCAN_WAIT_TP_LOCK;
      break;
    case SCAN_WAIT_TP_LOCK:
      break;
    case SCAN_FINISHED:
      OS_PRINTF("scan state: SCAN_FINISHED\n");
      log_perf(LOG_AP_SCAN, 100, 0, 0);
      scan_stop(p_scan_priv);

      evt.id = SCAN_EVT_FINISHED;
      evt.data1 = 0;
      ap_frm_send_evt_to_ui(APP_SCAN, &evt);
      p_scan_data->state = SCAN_IDLE;
      nvod_mosaic_buf_reset(class_get_handle_by_id(NVOD_MOSAIC_CLASS_ID));
      break;
    case SCAN_SCANING:
      if(p_scan_data->p_rt_data->pending_job == 0)
      {
        RET_CODE ret = SUCCESS;
        /*
        MT_ASSERT(p_scan_data->p_rt_data->job_dbg_info.pat_num == 0);
        MT_ASSERT(p_scan_data->p_rt_data->job_dbg_info.sdt_num == 0);
        MT_ASSERT(p_scan_data->p_rt_data->job_dbg_info.pmt_num == 0);
        MT_ASSERT(p_scan_data->p_rt_data->job_dbg_info.video_packet_num == 0);
        MT_ASSERT(p_scan_data->p_rt_data->job_dbg_info.nit_num == 0);
        */
        log_perf(LOG_AP_SCAN,PERF_SAVE_DB_START,PROG_DB,0);

        p_scan_data->p_rt_data->result.pg_num = p_scan_data->p_rt_data->cur_pg_offset;
        ret = p_scan_policy->on_tp_done(p_scan_policy->p_priv_data,
          &p_scan_data->p_rt_data->result);
        log_perf(LOG_AP_SCAN,PERF_SAVE_DB_DONE,PROG_DB,0);
        if(ret == SUCCESS)
        {
          log_perf(LOG_AP_SCAN, PERF_GET_ONETP_END,0,0);
          p_scan_data->state = SCAN_GET_TP;
          log_perf(LOG_AP_SCAN, PERF_GET_TP_BEGIN,0,0);
          log_perf(LOG_AP_SCAN, PERF_GET_ONETP_BEGIN,0,0);
        }
        else
        {
          //Database is full or some error, break scan
          p_scan_data->state = SCAN_IDLE;
        }
      }
	  #if 0 //for specified bouquet id
	  #else
      else if(p_scan_data->p_rt_data->bat_multi_mode)
      {
        if(mtos_ticks_get() - p_scan_data->p_rt_data->start_bat_tickets
            > 100*2)
        {
          scan_free_bat(p_scan_priv);
        }
      }
	  #endif
      /*  //for debug
      else
      {
        if(mtos_ticks_get() - p_scan_data->p_rt_data->job_dbg_info.spend_ticks
            > 100*2)
        {
          job_dbg_info_t *p_dbg = &p_scan_data->p_rt_data->job_dbg_info;
          SCAN_DBG("pending job %d, nit %d, pat %d, pmt %d, sdt %d, v %d\n",
            p_scan_data->p_rt_data->pending_job,
            p_dbg->nit_num, p_dbg->pat_num, p_dbg->pmt_num,
            p_dbg->sdt_num, p_dbg->video_packet_num);
        }
      }
      */

      break;
    default:
      break;
  }
}
void BaseLine::train()
{
	init_para();
	__gamma0 = _gamma0;

	PRINT("BaseLine: Training ... ");
	vectorF bu, bi;

	mean_ = get_rating_mean();
	init_base_model();

	double last_prmse = 10000.0;
	int check_step = (SMALLDATA)?1000:100000;

	for(int iter = 1; iter <= _max_iter; ++iter){  

		long double rmse = 0.0;
		int n = 0;

		// hold previous parameter in case probe rmse increase!
		if (PROBE) {
			copy_vector(bu_, bu, USER_NUM+1);
			copy_vector(bi_, bi, ITEM_NUM+1);
		}

		for(int u = 1; u < USER_NUM+1; ++u) {   //process every user      
			int RuNum = _rNodes[u].size(); //process every item rated by user u 
            
			for(int i=0; i < RuNum; ++i) {
				RateNode rn = _rNodes[u][i];
				int iid = rn.item;
				short rui = rn.rate; 
				float pui = predict_rate(u, iid);  //predict rate
                    
				float eui = rui - pui;
				rmse += eui * eui; ++n;

				if( DEBUG && n % check_step == 0) 
					std::cout<<"iteration "<< iter << ":\t" << n << " dealed!"<<std::endl;

				bu_[u] += __gamma0 * (eui - _lambda0 * bu_[u]);
				bi_[iid] += __gamma0 * (eui - _lambda0 * bi_[iid]);
			}
		}

		rmse_ =  sqrt( rmse / n);
		if(DEBUG)
			std::cout << "Neighborhood: iteration " << iter << " RMSE " << rmse_ << std::endl;
        
		if (PROBE){
			prmse_ = Probe_RMSE();
			if(DEBUG)
				std::cout << "Neighborhood: Probe RMSE " << prmse_ << std::endl;

			if( std::abs(prmse_ - last_prmse) < 1.0e-5 && iter >= 5) {
				probe_iter_ = iter;
				copy_vector(bu, bu_, USER_NUM+1);
				copy_vector(bi, bi_, ITEM_NUM+1);
				break; 
			} else
				last_prmse = prmse_;
		} 
	}

	__gamma0 *= _slow_rate;
	log_parameter();

	PRINT("BaseLine: Training done ");

	return;
}
int main(int argc, char* argv[]) 
{

/****************************Success Test*******************************/

/*testcase 1
* create target success
*
*
* @result windows initiator in acls could connected
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase1\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/*testcase 2-1
* set tpg mutual auth 
*
*
* @result windows initiator in acls could connected in mutual chap
* learn more from RTSlib_Test.doc in Z:\test-tools\RTSlib&iscsi\RTSlib_Test
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "56789987655678");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();

    target->attrib = (attributes_t*)malloc(sizeof(attributes_t));
    target->attrib->authentication = 1;
    target->attrib->cache_dynamic_acls = 1;
    target->attrib->default_cmdsn_depth = 16;
    target->attrib->demo_mode_write_protect = 0;
    target->attrib->generate_node_acls = 1;// for tpg
    target->attrib->login_timeout = 15;
    target->attrib->netif_timeout = 2;
    target->attrib->prod_mode_write_protect = 0;

    printf("Testcase2-1\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/*testcase 2-2
* set acl mutual auth 
*
*
* @result windows initiator in acls could connected in mutual chap
* learn more from RTSlib_Test.doc in Z:\test-tools\RTSlib&iscsi\RTSlib_Test
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "56789987655678");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();

    target->attrib = (attributes_t*)malloc(sizeof(attributes_t));
    target->attrib->authentication = 1;
    target->attrib->cache_dynamic_acls = 1;
    target->attrib->default_cmdsn_depth = 16;
    target->attrib->demo_mode_write_protect = 0;
    target->attrib->generate_node_acls = 0;// for acl
    target->attrib->login_timeout = 15;
    target->attrib->netif_timeout = 2;
    target->attrib->prod_mode_write_protect = 0;

    printf("Testcase2-2\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/*testcase 3 
* delete the ACLs mutual auth  
*
*
* @result windows initiator in acls could connected
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase3\n");
    iscsi_create_target(sobj, target);
    iscsi_set_ACLs_auth(target->wwn, target->tag, target->node_acls, target->node_acls_num, target->chap_mutual_userid, target->chap_mutual_password, target->chap_userid, target->chap_password);
    iscsi_del_ACLs_auth(target->wwn, target->tag);

    show_targetcli();
    free_all();


/* testcase 4-1
* delete the target of wwn whihout the target
*
* @result backstore do not delete
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase4-1\n");
    iscsi_create_target(sobj, target);
    iscsi_del_target(false,target->wwn);

    show_targetcli();
    free_all();

/* testcase 4-2 
* delete the target of wwn with the target
*
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase4-2\n");
    iscsi_create_target(sobj, target);
    iscsi_del_target(true,target->wwn);

    show_targetcli();
    free_all();

/* testcase 5 
*create fileio target
*
* @parameter change
*   sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
*   strcpy(sobj->dev,"/root/Desktop/LibreOffice_4.4.4_Win_x86.msi");//214 MB(224,423,936)
*   strcpy(sobj->name,"LibreOffice_4");
*   sobj->iscsi_plugin = 1;
*   sobj->size = 12345;
*
*/  iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/LibreOffice_4.4.4_Win_x86.msi");
    strcpy(sobj->name,"LibreOffice_4");
    sobj->iscsi_plugin = 1;
    sobj->size = 12345;

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase5\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();



/****************************Error Test*******************************/

/* testcase 6
*create backstore whith file error 
*
*
* @method input fileiosize is larger than real fileiosize
*  
*
* @result create the file with the input size
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/LibreOffice_4.4.4_Win_x86.msi");//214m(224,423,936)
    strcpy(sobj->name,"LibreOffice_4");
    sobj->iscsi_plugin = 1;
    sobj->size = 53687091200;

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase6\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 7
*create backstore whith file error
*
*
* @method input fileiosize is 0
*  
*
* @result return  file with size 0
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/LibreOffice_4.4.4_Win_x86.msi");//214m(224,423,936)
    strcpy(sobj->name,"LibreOffice_4");
    sobj->iscsi_plugin = 1;
    sobj->size = 0;//

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase7\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 8
*create backstore whith file error
*
*
* @method give filesize -2
*  
*
* @result  no thing establshed
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/iscsitest12");//214m(224,423,936)
    strcpy(sobj->name,"test12");
    sobj->iscsi_plugin =1;
    sobj->size = -2;
    

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase8\n");
    iscsi_create_target(sobj, target);

    //iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();



/* testcase 8-2
*create backstore whith file error
*
*
* @method give the file path but put the plugin in to 2
*  
*
* @result  Device is not a TYPE_DISK block device
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/iscsitest12");//214m(224,423,936)
    strcpy(sobj->name,"test12");
    sobj->iscsi_plugin = 2;
    

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase8-1\n");
    iscsi_create_target(sobj, target);

    //iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 8-3
*create backstore whith file error
*
*
* @method don not give the iqn
*  
*
* @result  WWN not valid as: iqn, naa, eui nothing esablish
*/
    iscsi_del_all_targets();


    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    //strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");


    init_portal();
    init_para();
    init_attr();

    printf("Testcase8-3\n");
    iscsi_create_target(sobj, target);

    //iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 8-4
*create backstore whith file multi error
*
*
* @method don not give the iqn ip_address
*  
*
* @result return 0 for step_3,4,5,6 sucess : -1 nothing esablish
*/
    iscsi_del_all_targets();


    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    //target->enable = 1;
    //target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");


    init_para();
    target->portal = (portals_t*)malloc(sizeof(portals_t));
    strcpy(target->portal->ip_address, "192.168.1.77"); 
    target->portal->iser = 1;
    target->portal->port = 3260;
    init_attr();

    printf("Testcase8-4\n");
    iscsi_create_target(sobj, target);

    //iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();




/* testcase 9
*create backstore whith file error
*
*
* @method input file not exist and do not give the size
*  
*
* @result no size created but the object still exist
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/not_exist");//214m(224,423,936)
    strcpy(sobj->name,"LibreOffice_4");
    sobj->iscsi_plugin = 1;
    //sobj->size = 0;//

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase9\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();
    
/* testcase 10
*create backstore whith file error
*
*
* @method input file not exist and give the size
*  
*
* @result create the file with the size given
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/not_exist");//214m(224,423,936)
    strcpy(sobj->name,"not_exist");
    sobj->iscsi_plugin = 1;
    sobj->size = 536870912;//

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase10\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 11
*create backstore whith file error
*
*
* @method input file but the iscsi_plugin is block
*  
*
* @result  Device is not a TYPE_DISK block device.
* nothing establishes
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"/root/Desktop/LibreOffice_4.4.4_Win_x86.msi");//214m(224,423,936)
    strcpy(sobj->name,"LibreOffice_4");
    sobj->iscsi_plugin = 2;
    sobj->size = 536870912;//

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase11\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/* testcase 12
*create backstore whith file error
*
*
* @method input error filepath 
*  
* @result [Errno 2] No such file or directory
* nothing established
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"dev/sdb");
    strcpy(sobj->name,"disk_b");
    sobj->iscsi_plugin =1;
    sobj->size = 536870912;//512m

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase12\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/* testcase 13
*create backstore whith block error
*
*
* @method input error block path 
*  
* @result [Errno 2] No such file or directory
* nothing established
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"dev/sdb");
    strcpy(sobj->name,"disk_b");
    sobj->iscsi_plugin = 2;
    sobj->size = 536870912;//512m

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase13\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 14
*create backstore whith iscsi_plugin error
*
*
* @method input error iscsi_plugin number 
*  
* @result nothing established
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"dev/sdb");
    strcpy(sobj->name,"disk_b");
    sobj->iscsi_plugin = 3;
    sobj->size = 536870912;//512m

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase14\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/* testcase 15
*create backstore whith iscsi_plugin error
*
*
* @method input  iscsi_plugin 0
*  
* @result nothing established
*/
    iscsi_del_all_targets();

    /* initialize the storeobject */
    sobj = (storage_obj_t*)malloc(sizeof(storage_obj_t));
    strcpy(sobj->dev,"dev/sdb");
    strcpy(sobj->name,"disk_b");
    sobj->iscsi_plugin = 0;
    sobj->size = 536870912;//512m

    init_target();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase15\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();



/* testcase 16
*create target whith target error
* @default(fileio)
*
* @method input  target->wwn is empty
* 
* @result WWN not valid as: iqn, naa, eui
* return 0 for create_target success : -1
* nothing established
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "");
 
    init_portal();
    init_para();
    init_attr();

    printf("Testcase16\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 17
*create target whith target error
* @default(fileio)
*
* @method input  target->wwn  is aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
*  
* @result WWN not valid as: iqn, naa, eui
* return 0 for create_target success : -1
* nothing established
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase17\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/* testcase 18
*create tpg whith target error
* @default(fileio)
*
* @method input  target->tag = 2;
*  
* @result nothing established
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 2;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase18\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 19
*create tpg whith portals error
* @default(fileio)
*
* @method input  target->portal->ip_address is "0.0.0.0"
*  
* @result no error
*/
    iscsi_del_all_targets();

    init_sobj();
    init_target();

    target->portal = (portals_t*)malloc(sizeof(portals_t));
    strcpy(target->portal->ip_address, "0.0.0.0"); 
    target->portal->iser = 1;
    target->portal->port = 3260;

    init_para();
    init_attr();

    printf("Testcase19\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 20
*create tpg whith portals error
* @default(fileio)
*
* @method input  portal->ip_address "225.225.225.225"
*  
* @result no error
*/
    iscsi_del_all_targets();

    init_sobj();
    init_target();

    target->portal = (portals_t*)malloc(sizeof(portals_t));
    strcpy(target->portal->ip_address, "225.225.225.225"); 
    target->portal->iser = 1;
    target->portal->port = 3260;

    init_para();
    init_attr();

    printf("Testcase20\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/* testcase 21
*create tpg whith portals error
* @default(fileio)
*
* @method input  portal->ip_address 0000
*  
*
* @result no error
*/

    iscsi_del_all_targets();

    init_sobj();
    init_target();

    target->portal = (portals_t*)malloc(sizeof(portals_t));
    strcpy(target->portal->ip_address, "0000"); 
    target->portal->iser = 1;
    target->portal->port = 3260;

    init_para();
    init_attr();

    printf("Testcase21\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 22
* create the portals 0.0.0.0:3260 in another target 
*
* @method set the portals 0.0.0.0  
*
*
* @result could not create ip potals 0.0.0.0:3260 in another target
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase22\n");
    iscsi_create_target(sobj, target);
    show_targetcli();
    free_all();


    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();
    strcpy(sobj->dev,"/dev/sdd");
    strcpy(sobj->name,"disk_d");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb5");
    strcpy(target->portal->ip_address, "0.0.0.0"); 
    iscsi_create_target(sobj, target);



    show_targetcli();
    free_all();

/* testcase 23
* create the same portals in another target 
*
* @method give the same ip
*
*
* @result  return success target with same ip portals
* initiator could see 2 target
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase23\n");
    iscsi_create_target(sobj, target);
    show_targetcli();
    free_all();


    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();
    strcpy(sobj->dev,"/dev/sdd");
    strcpy(sobj->name,"disk_d");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb5");
    strcpy(target->portal->ip_address, "192.168.1.77"); 
    iscsi_create_target(sobj, target);



    show_targetcli();
    free_all();

/* testcase 24
* create the portals 0.0.0.0:3260 in first target and create another target of ip partals 192.168.1.77
*
* @method set the first portals 0.0.0.0  second target portal 192.168.1.77
*
*
* @result could not create ip potals 192.168.1.77 in another target
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();
    strcpy(sobj->dev,"/dev/sdd");
    strcpy(sobj->name,"disk_d");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb5");
    strcpy(target->portal->ip_address, "0.0.0.0"); 


    printf("Testcase24\n");
    iscsi_create_target(sobj, target);
    show_targetcli();
    free_all();


    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();
    iscsi_create_target(sobj, target);



    show_targetcli();
    free_all();


/*testcase 25?
*create tpg do not enable tpg
* @default(fileio)
*
* @method input  target->enable =0
*
*
* @result 
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();
    target->enable =0;


    printf("Testcas25\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/*testcase 26
*create tpg with enable fault
* @default(fileio)
*
* @method input  target->enable=ii
*
*
* @result 
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();
    target->enable =99;


    printf("Testcas26\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 27
*create target whith attribute error
* @default(fileio)
*
* @method input  target->chap_mutual_password excced 16 bytes
*  
* @result mutual_password=56789987655678abiqn.1991-05.com.microsoft:ibm-t410s
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "56789987655678abcdefghijkl");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase27\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 28
*create target whith attribute error
* @default(fileio)
*
* @method input  target->chap_mutual_password less 12 bytes
*  
* @result  establish success,but when you connected by windows initiator 
* the system will give the error hint about the password format
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();

    target->attrib = (attributes_t*)malloc(sizeof(attributes_t));
    target->attrib->authentication = 1;
    target->attrib->cache_dynamic_acls = 1;
    target->attrib->default_cmdsn_depth = 16;
    target->attrib->demo_mode_write_protect = 0;
    target->attrib->generate_node_acls = 0;// for acl
    target->attrib->login_timeout = 15;
    target->attrib->netif_timeout = 2;
    target->attrib->prod_mode_write_protect = 0;

    printf("Testcase28\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 29
*create target whith attribute error
* @default(fileio)
*
* @method input  target->chap_mutual_userid not a proper name
*  
* @result nothing error
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();

    target->attrib = (attributes_t*)malloc(sizeof(attributes_t));
    target->attrib->authentication = 1;
    target->attrib->cache_dynamic_acls = 1;
    target->attrib->default_cmdsn_depth = 16;
    target->attrib->demo_mode_write_protect = 0;
    target->attrib->generate_node_acls = 0;// for acl
    target->attrib->login_timeout = 15;
    target->attrib->netif_timeout = 2;
    target->attrib->prod_mode_write_protect = 0;

    printf("Testcase29\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 30
*create target whith attribute error
*
*
* @method input  target->node_acls_num  is bigger than the list
*  
* @result nothing established
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 4;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase30\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();

/* testcase 31
*create target whith attribute error
* 
*
* @method input  target->node_acls_num  is smaller than the list
*  
* @result established the  number of  (target->node_acls_num) initiator
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 1;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase31\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();





/* testcase 32
*create target whith attribute error
* 
*
* @method input  target->node_acls_num  is 0
*  
* @result target established success without acls
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase32\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();
    
/* testcase 33
*create target whith attribute error
* 
*
* @method input  target->node_acls last one is empty
*  
* @result WWN not valid as: iqn, naa, eui
* set_initiator failed
* nothing established

*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase33\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();


/* testcase 34
*create target whith attribute error
* 
*
* @method input  target->node_acls first one is empty
*  
* @result WWN not valid as: iqn, naa, eui
* set_initiator failed
* nothing established

*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase34\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    free_all();




/*testcase 35 
* set the ACLs mutual auth all empty 
*
* @method set the auth uncorrect 
*
*
* @result  [1-way auth, Mapped LUNs: 1]
*/
    iscsi_del_all_targets();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "");
    strcpy(target->chap_mutual_userid, "");
    strcpy(target->chap_password, "");
    strcpy(target->chap_userid, "");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 2;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase35\n");
    iscsi_create_target(sobj, target);
    iscsi_set_ACLs_auth(target->wwn, target->tag, target->node_acls, target->node_acls_num, target->chap_mutual_userid, target->chap_mutual_password, target->chap_userid, target->chap_password);

    show_targetcli();
    free_all();


/* testcase 36
* delete the target of wwn 
*
* @method give the wwn which do not exist  
*
*
* @result return 0 for delete the target success : 1
*/
    iscsi_del_all_targets();
    init_target();
    init_sobj();
    init_portal();
    init_para();
    init_attr();

    printf("Testcase36\n");
    iscsi_create_target(sobj, target);
    iscsi_del_target(true,"iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb5");

    show_targetcli();
    free_all();


/* testcase 37
*set acls initiator list
* 
*
* @method input node_acls[i] one of them to 0
*  
* @result established the  target with the acls give
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase37\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    char wwn[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag = 1;
    char node_acls[3][MAXNAMELEN];
    strcpy((node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
   // strcpy((node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy((node_acls)[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number = 3;
    iscsi_set_initiators(wwn,tag,node_acls,number);
    show_targetcli();
    free_all();


/* testcase 38
*set acls initiator list
* 
*
* @method input number_38 smaller than the number of number_38
*  
* @result established the target with the number_38 of acls give
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase38\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    char wwn_38[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag_38 = 1;
    char node_acls_38[3][MAXNAMELEN];
    strcpy(node_acls_38[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(node_acls_38[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(node_acls_38[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number_38 = 2;
    iscsi_set_initiators(wwn_38,tag_38,node_acls_38,number_38);
    show_targetcli();
    free_all();

/* testcase 39
*set acls initiator list
* 
*
* @method input number_39 bigger than the number of number_39
*  
* @result established the target with the number_39 of acls give
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase39\n");
    iscsi_create_target(sobj, target);

    show_targetcli();
    char wwn_39[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag_39 = 1;
    char node_acls_39[3][MAXNAMELEN];
    strcpy(node_acls_39[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(node_acls_39[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(node_acls_39[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number_39 = 5;
    iscsi_set_initiators(wwn_39,tag_39,node_acls_39,number_39);
    show_targetcli();
    free_all();

/* testcase 40
*set and delete acls initiator list
* 
*
* @method input number_40 under zero
*  
* @result give the hint number should greater than zero
*
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase40\n");
    iscsi_create_target(sobj, target);
    show_targetcli();



    char wwn_40[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag_40 = 1;
    char node_acls_40[3][MAXNAMELEN];
    strcpy(node_acls_40[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(node_acls_40[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(node_acls_40[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number_40 = -1;
    iscsi_set_initiators(wwn_40,tag_40,node_acls_40,number_40);
    show_targetcli();

    iscsi_del_initiators(wwn_40,tag_40,node_acls_40,number_40);
    show_targetcli();


    free_all();

/* testcase 41
*set and delete acls initiator list
* 
*
* @method input number_41 greater than node_acls_number
*  
* @result running success delete all initiator
*
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase41\n");
    iscsi_create_target(sobj, target);
    show_targetcli();



    char wwn_41[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag_41 = 1;
    char node_acls_41[3][MAXNAMELEN];
    strcpy(node_acls_41[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(node_acls_41[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(node_acls_41[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number_41 = 10;
    iscsi_set_initiators(wwn_41,tag_41,node_acls_41,number_41);
    show_targetcli();

    iscsi_del_initiators(wwn_41,tag_41,node_acls_41,number_41);
    show_targetcli();


    free_all();

/* testcase 42
*set and delete acls initiator list
* 
*
* @method input delete initiator number smaller than set initiator number
*  
* @result delete the first number of del_init_num_42 initialtor
*
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase42\n");
    iscsi_create_target(sobj, target);
    show_targetcli();



    char wwn_42[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag_42 = 1;
    char node_acls_42[3][MAXNAMELEN];
    strcpy(node_acls_42[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(node_acls_42[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(node_acls_42[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number_42 = 4;
    iscsi_set_initiators(wwn_42,tag_42,node_acls_42,number_42);
    show_targetcli();
    int del_init_num_42 = 2;
    iscsi_del_initiators(wwn_42,tag_42,node_acls_42,del_init_num_42 );
    show_targetcli();


    free_all();

/* testcase 43
*set and delete acls initiator list
* 
*
* @method input delete initiator number greater than set initiator number
*  
* @result delete all the  initialtor
*
*/
    iscsi_del_all_targets();

    init_sobj();

    target = (iscsitarget_t*)malloc(sizeof(iscsitarget_t));
    strcpy(target->chap_mutual_password, "567899876556");
    strcpy(target->chap_mutual_userid, "iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(target->chap_password, "123455432112");
    strcpy(target->chap_userid, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");
    target->enable = 1;
    target->tag = 1;
    target->node_acls_num = 0;
    strcpy((target->node_acls)[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy((target->node_acls)[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(target->wwn, "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4");

    init_portal();
    init_para();
    init_attr();

    printf("Testcase43\n");
    iscsi_create_target(sobj, target);
    show_targetcli();



    char wwn_43[] = "iqn.2003-01.org.linux-iscsi.localhost.x8664:sn.e16787b68bb4";
    int tag_43 = 1;
    char node_acls_43[3][MAXNAMELEN];
    strcpy(node_acls_43[0],"iqn.1991-05.com.microsoft:ibm-t410s");
    strcpy(node_acls_43[1],"iqn.1994-05.com.redhat:a4bf13a296c");
    strcpy(node_acls_43[2],"iqn.1994-05.com.redhat:a4bf13a296d");
    int number_43 = 4;
    iscsi_set_initiators(wwn_43,tag_43,node_acls_43,number_43);
    show_targetcli();
    int del_init_num_43 = 10;
    iscsi_del_initiators(wwn_43,tag_43,node_acls_43,del_init_num_43 );
    show_targetcli();


   free_all();

    return 0;
}
Exemple #5
0
int main(int argc, char **argv)
{
	if (argc > 1)
	{
		if (strcasecmp(argv[1], "-v") == 0)
		{
			fprintf(stdout, "compile time [%s %s]\n", __DATE__, __TIME__);
			return -1;
		}
	}

	if (myconfig_init(argc, argv))
	{
		fprintf(stderr, "myconfig_init error [%s]\n", strerror(errno));
		return -1;
	}

	EnterDaemonMode();
	t_path_info path;
	memset(&path, 0, sizeof(path));

	if (init_para(&path))
		return -1;

	int ret = init_shm(&path);
	if (ret < 0)
	{
		LOG(fplog, LOG_ERROR, "init_shm err %m\n");
		report_2_nm(CDC_SHM_INIT_ERR, ID, LN);
		return -1;
	}

	LOG(fplog, LOG_NORMAL, "cdc start ok!\n");
	if (ret == 0 )
	{
		if (cdc_sub(&path, CDC_PLUS))
		{
			LOG(fplog, LOG_ERROR, "init_plus err %m\n");
			report_2_nm(CDC_NORMAL_ERR, ID, LN);
			return -1;
		}
	}
	LOG(fplog, LOG_NORMAL, "plus dir process ok!\n");

	time_t cur = time(NULL);
	time_t last = 0;
	int shm_sync_time = myconfig_get_intval("shm_synctime", 3600);

	while (1)
	{
		cdc_sub(&path, CDC_REALTIME);
		cur = time(NULL);
		if (cur - last >= shm_sync_time)
		{
			last = cur;
			do_sync_2_disk(&path);
		}
		sleep(10);
	}

	logclose(fplog);
	return 0;
}