/*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 }
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; }
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; }