Lines Matching defs:cbe_lun

88 	struct ctl_be_lun cbe_lun;
190 ctl_disable_lun(&lun->cbe_lun);
191 ctl_invalidate_lun(&lun->cbe_lun);
214 struct ctl_be_lun *cbe_lun;
221 cbe_lun = (struct ctl_be_lun *)io->io_hdr.ctl_private[
223 be_lun = (struct ctl_be_ramdisk_lun *)cbe_lun->be_lun;
270 struct ctl_be_lun *cbe_lun;
273 cbe_lun = (struct ctl_be_lun *)io->io_hdr.ctl_private[
282 lbalen->len * cbe_lun->blocksize;
412 if (be_lun->cbe_lun.lun_id == params->lun_id)
423 retval = ctl_disable_lun(&be_lun->cbe_lun);
443 retval = ctl_invalidate_lun(&be_lun->cbe_lun);
479 ctl_free_opts(&be_lun->cbe_lun.options);
497 struct ctl_be_lun *cbe_lun;
507 cbe_lun = &be_lun->cbe_lun;
508 cbe_lun->be_lun = be_lun;
512 ctl_init_opts(&cbe_lun->options, req->num_be_args, req->kern_be_args);
515 cbe_lun->lun_type = params->device_type;
517 cbe_lun->lun_type = T_DIRECT;
519 cbe_lun->flags = 0;
520 value = ctl_get_opt(&cbe_lun->options, "ha_role");
523 cbe_lun->flags |= CTL_LUN_FLAG_PRIMARY;
525 cbe_lun->flags |= CTL_LUN_FLAG_PRIMARY;
527 if (cbe_lun->lun_type == T_DIRECT ||
528 cbe_lun->lun_type == T_CDROM) {
530 cbe_lun->blocksize = params->blocksize_bytes;
531 else if (cbe_lun->lun_type == T_CDROM)
532 cbe_lun->blocksize = 2048;
534 cbe_lun->blocksize = 512;
535 if (params->lun_size_bytes < cbe_lun->blocksize) {
538 params->lun_size_bytes, cbe_lun->blocksize);
541 be_lun->size_blocks = params->lun_size_bytes / cbe_lun->blocksize;
542 be_lun->size_bytes = be_lun->size_blocks * cbe_lun->blocksize;
543 cbe_lun->maxlba = be_lun->size_blocks - 1;
544 cbe_lun->atomicblock = UINT32_MAX;
545 cbe_lun->opttxferlen = softc->rd_size / cbe_lun->blocksize;
549 params->blocksize_bytes = cbe_lun->blocksize;
552 value = ctl_get_opt(&cbe_lun->options, "unmap");
554 cbe_lun->flags |= CTL_LUN_FLAG_UNMAP;
555 value = ctl_get_opt(&cbe_lun->options, "readonly");
558 cbe_lun->flags |= CTL_LUN_FLAG_READONLY;
559 } else if (cbe_lun->lun_type != T_DIRECT)
560 cbe_lun->flags |= CTL_LUN_FLAG_READONLY;
561 cbe_lun->serseq = CTL_LUN_SERSEQ_OFF;
562 value = ctl_get_opt(&cbe_lun->options, "serseq");
564 cbe_lun->serseq = CTL_LUN_SERSEQ_ON;
566 cbe_lun->serseq = CTL_LUN_SERSEQ_READ;
568 cbe_lun->serseq = CTL_LUN_SERSEQ_OFF;
571 cbe_lun->req_lun_id = params->req_lun_id;
572 cbe_lun->flags |= CTL_LUN_FLAG_ID_REQ;
574 cbe_lun->req_lun_id = 0;
576 cbe_lun->lun_shutdown = ctl_backend_ramdisk_lun_shutdown;
577 cbe_lun->lun_config_status = ctl_backend_ramdisk_lun_config_status;
578 cbe_lun->be = &ctl_be_ramdisk_driver;
582 strncpy((char *)cbe_lun->serial_num, tmpstr,
583 MIN(sizeof(cbe_lun->serial_num), sizeof(tmpstr)));
589 strncpy((char *)cbe_lun->serial_num, params->serial_num,
590 MIN(sizeof(cbe_lun->serial_num),
595 strncpy((char *)cbe_lun->device_id, tmpstr,
596 MIN(sizeof(cbe_lun->device_id), sizeof(tmpstr)));
602 strncpy((char *)cbe_lun->device_id, params->device_id,
603 MIN(sizeof(cbe_lun->device_id),
633 retval = ctl_add_lun(&be_lun->cbe_lun);
672 params->req_lun_id = cbe_lun->lun_id;
685 ctl_free_opts(&cbe_lun->options);
697 struct ctl_be_lun *cbe_lun;
707 if (be_lun->cbe_lun.lun_id == params->lun_id)
717 cbe_lun = &be_lun->cbe_lun;
721 ctl_update_opts(&cbe_lun->options, req->num_be_args, req->kern_be_args);
723 wasprim = (cbe_lun->flags & CTL_LUN_FLAG_PRIMARY);
724 value = ctl_get_opt(&cbe_lun->options, "ha_role");
727 cbe_lun->flags |= CTL_LUN_FLAG_PRIMARY;
729 cbe_lun->flags &= ~CTL_LUN_FLAG_PRIMARY;
731 cbe_lun->flags |= CTL_LUN_FLAG_PRIMARY;
733 cbe_lun->flags &= ~CTL_LUN_FLAG_PRIMARY;
734 if (wasprim != (cbe_lun->flags & CTL_LUN_FLAG_PRIMARY)) {
735 if (cbe_lun->flags & CTL_LUN_FLAG_PRIMARY)
736 ctl_lun_primary(cbe_lun);
738 ctl_lun_secondary(cbe_lun);
741 blocksize = be_lun->cbe_lun.blocksize;
750 be_lun->cbe_lun.maxlba = be_lun->size_blocks - 1;
751 ctl_lun_capacity_changed(&be_lun->cbe_lun);
811 if (ctl_enable_lun(&lun->cbe_lun) != 0) {
813 if (ctl_invalidate_lun(&lun->cbe_lun) != 0) {
845 struct ctl_be_lun *cbe_lun;
848 cbe_lun = (struct ctl_be_lun *)io->io_hdr.ctl_private[
883 ctl_lun_has_media(cbe_lun);
884 ctl_start_lun(cbe_lun);
886 ctl_stop_lun(cbe_lun);
888 ctl_lun_ejected(cbe_lun);