Lines Matching refs:lun
88 uint64_t lun; member
98 uint64_t lun; member
149 struct ctl_lun *lun; member
159 struct ctl_lun *lun; in tpc_timeout() local
164 STAILQ_FOREACH(lun, &softc->lun_list, links) { in tpc_timeout()
165 mtx_lock(&lun->lun_lock); in tpc_timeout()
166 TAILQ_FOREACH_SAFE(list, &lun->tpc_lists, links, tlist) { in tpc_timeout()
170 TAILQ_REMOVE(&lun->tpc_lists, list, links); in tpc_timeout()
173 mtx_unlock(&lun->lun_lock); in tpc_timeout()
220 ctl_tpc_lun_init(struct ctl_lun *lun) in ctl_tpc_lun_init() argument
223 TAILQ_INIT(&lun->tpc_lists); in ctl_tpc_lun_init()
227 ctl_tpc_lun_clear(struct ctl_lun *lun, uint32_t initidx) in ctl_tpc_lun_clear() argument
231 TAILQ_FOREACH_SAFE(list, &lun->tpc_lists, links, tlist) { in ctl_tpc_lun_clear()
236 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_tpc_lun_clear()
242 ctl_tpc_lun_shutdown(struct ctl_lun *lun) in ctl_tpc_lun_shutdown() argument
244 struct ctl_softc *softc = lun->ctl_softc; in ctl_tpc_lun_shutdown()
249 while ((list = TAILQ_FIRST(&lun->tpc_lists)) != NULL) { in ctl_tpc_lun_shutdown()
250 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_tpc_lun_shutdown()
259 if (token->lun != lun->lun || token->active) in ctl_tpc_lun_shutdown()
271 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_inquiry_evpd_tpc() local
311 if (lun != NULL) in ctl_inquiry_evpd_tpc()
313 lun->be_lun->lun_type; in ctl_inquiry_evpd_tpc()
502 tpc_find_list(struct ctl_lun *lun, uint32_t list_id, uint32_t init_idx) in tpc_find_list() argument
506 mtx_assert(&lun->lun_lock, MA_OWNED); in tpc_find_list()
507 TAILQ_FOREACH(list, &lun->tpc_lists, links) { in tpc_find_list()
519 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_receive_copy_status_lid1() local
534 mtx_lock(&lun->lun_lock); in ctl_receive_copy_status_lid1()
535 list = tpc_find_list(lun, list_id, in ctl_receive_copy_status_lid1()
538 mtx_unlock(&lun->lun_lock); in ctl_receive_copy_status_lid1()
547 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_receive_copy_status_lid1()
550 mtx_unlock(&lun->lun_lock); in ctl_receive_copy_status_lid1()
589 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_receive_copy_failure_details() local
604 mtx_lock(&lun->lun_lock); in ctl_receive_copy_failure_details()
605 list = tpc_find_list(lun, list_id, in ctl_receive_copy_failure_details()
608 mtx_unlock(&lun->lun_lock); in ctl_receive_copy_failure_details()
616 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_receive_copy_failure_details()
618 mtx_unlock(&lun->lun_lock); in ctl_receive_copy_failure_details()
649 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_receive_copy_status_lid4() local
664 mtx_lock(&lun->lun_lock); in ctl_receive_copy_status_lid4()
665 list = tpc_find_list(lun, list_id, in ctl_receive_copy_status_lid4()
668 mtx_unlock(&lun->lun_lock); in ctl_receive_copy_status_lid4()
677 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_receive_copy_status_lid4()
680 mtx_unlock(&lun->lun_lock); in ctl_receive_copy_status_lid4()
723 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_copy_operation_abort() local
735 mtx_lock(&lun->lun_lock); in ctl_copy_operation_abort()
736 list = tpc_find_list(lun, list_id, in ctl_copy_operation_abort()
739 mtx_unlock(&lun->lun_lock); in ctl_copy_operation_abort()
747 mtx_unlock(&lun->lun_lock); in ctl_copy_operation_abort()
761 *ss = list->lun->be_lun->blocksize; in tpc_resolve()
763 *pb = list->lun->be_lun->blocksize << in tpc_resolve()
764 list->lun->be_lun->pblockexp; in tpc_resolve()
766 *pbo = list->lun->be_lun->blocksize * in tpc_resolve()
767 list->lun->be_lun->pblockoff; in tpc_resolve()
768 return (list->lun->lun); in tpc_resolve()
772 return (tpcl_resolve(list->lun->ctl_softc, in tpc_resolve()
930 tior->lun = sl; in tpc_process_b2b()
951 tiow->lun = dl; in tpc_process_b2b()
964 if (tpcl_queue(tior->io, tior->lun) != CTL_RETVAL_COMPLETE) in tpc_process_b2b()
1026 tio->lun = sl; in tpc_process_verify()
1029 if (tpcl_queue(tio->io, tio->lun) != CTL_RETVAL_COMPLETE) in tpc_process_verify()
1092 tio->lun = dl; in tpc_process_register_key()
1095 if (tpcl_queue(tio->io, tio->lun) != CTL_RETVAL_COMPLETE) in tpc_process_register_key()
1214 dstblock = list->lun->be_lun->blocksize; in tpc_process_wut()
1215 pb = dstblock << list->lun->be_lun->pblockexp; in tpc_process_wut()
1216 if (list->lun->be_lun->pblockoff > 0) in tpc_process_wut()
1217 pbo = pb - dstblock * list->lun->be_lun->pblockoff; in tpc_process_wut()
1290 tior->lun = list->token->lun; in tpc_process_wut()
1309 tiow->lun = list->lun->lun; in tpc_process_wut()
1322 if (tpcl_queue(tior->io, tior->lun) != CTL_RETVAL_COMPLETE) in tpc_process_wut()
1368 dstblock = list->lun->be_lun->blocksize; in tpc_process_zero_wut()
1393 tiow->lun = list->lun->lun; in tpc_process_zero_wut()
1407 if (tpcl_queue(tiow->io, tiow->lun) != CTL_RETVAL_COMPLETE) in tpc_process_zero_wut()
1418 struct ctl_lun *lun = list->lun; in tpc_process() local
1419 struct ctl_softc *softc = lun->ctl_softc; in tpc_process()
1483 mtx_lock(&lun->lun_lock); in tpc_process()
1485 TAILQ_REMOVE(&lun->tpc_lists, list, links); in tpc_process()
1494 mtx_unlock(&lun->lun_lock); in tpc_process()
1628 if (tpcl_queue(io, tio->lun) != CTL_RETVAL_COMPLETE) { in tpc_done()
1653 if (tpcl_queue(tior->io, tior->lun) != CTL_RETVAL_COMPLETE) in tpc_done()
1664 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_extended_copy_lid1() local
1734 value = dnvlist_get_string(lun->be_lun->options, "insecure_tpc", NULL); in ctl_extended_copy_lid1()
1783 list->lun = lun; in ctl_extended_copy_lid1()
1784 mtx_lock(&lun->lun_lock); in ctl_extended_copy_lid1()
1786 tlist = tpc_find_list(lun, list->list_id, list->init_idx); in ctl_extended_copy_lid1()
1788 mtx_unlock(&lun->lun_lock); in ctl_extended_copy_lid1()
1796 TAILQ_REMOVE(&lun->tpc_lists, tlist, links); in ctl_extended_copy_lid1()
1800 TAILQ_INSERT_TAIL(&lun->tpc_lists, list, links); in ctl_extended_copy_lid1()
1801 mtx_unlock(&lun->lun_lock); in ctl_extended_copy_lid1()
1818 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_extended_copy_lid4() local
1888 value = dnvlist_get_string(lun->be_lun->options, "insecure_tpc", NULL); in ctl_extended_copy_lid4()
1937 list->lun = lun; in ctl_extended_copy_lid4()
1938 mtx_lock(&lun->lun_lock); in ctl_extended_copy_lid4()
1940 tlist = tpc_find_list(lun, list->list_id, list->init_idx); in ctl_extended_copy_lid4()
1942 mtx_unlock(&lun->lun_lock); in ctl_extended_copy_lid4()
1950 TAILQ_REMOVE(&lun->tpc_lists, tlist, links); in ctl_extended_copy_lid4()
1954 TAILQ_INSERT_TAIL(&lun->tpc_lists, list, links); in ctl_extended_copy_lid4()
1955 mtx_unlock(&lun->lun_lock); in ctl_extended_copy_lid4()
1970 tpc_create_token(struct ctl_lun *lun, struct ctl_port *port, off_t len, in tpc_create_token() argument
1982 if (lun->lun_devid) in tpc_create_token()
1984 lun->lun_devid->data, lun->lun_devid->len, in tpc_create_token()
1986 if (idd == NULL && lun->lun_devid) in tpc_create_token()
1988 lun->lun_devid->data, lun->lun_devid->len, in tpc_create_token()
1995 scsi_ulto3b(lun->be_lun->blocksize, cscd->dtsp.block_length); in tpc_create_token()
2002 scsi_ulto4b(lun->be_lun->blocksize, dtsd->length); in tpc_create_token()
2003 dtsd->prot_lbppbe = lun->be_lun->pblockexp & SRC16_LBPPBE; in tpc_create_token()
2004 scsi_ulto2b(lun->be_lun->pblockoff & SRC16_LALBA_A, dtsd->lalba_lbp); in tpc_create_token()
2005 if (lun->be_lun->flags & CTL_LUN_FLAG_UNMAP) in tpc_create_token()
2021 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_populate_token() local
2103 lun->be_lun->maxlba, &lba) != 0) { in ctl_populate_token()
2123 list->lun = lun; in ctl_populate_token()
2124 mtx_lock(&lun->lun_lock); in ctl_populate_token()
2125 tlist = tpc_find_list(lun, list->list_id, list->init_idx); in ctl_populate_token()
2127 mtx_unlock(&lun->lun_lock); in ctl_populate_token()
2135 TAILQ_REMOVE(&lun->tpc_lists, tlist, links); in ctl_populate_token()
2138 TAILQ_INSERT_TAIL(&lun->tpc_lists, list, links); in ctl_populate_token()
2139 mtx_unlock(&lun->lun_lock); in ctl_populate_token()
2142 token->lun = lun->lun; in ctl_populate_token()
2143 token->blocksize = lun->be_lun->blocksize; in ctl_populate_token()
2149 list->curbytes = (off_t)list->cursectors * lun->be_lun->blocksize; in ctl_populate_token()
2150 tpc_create_token(lun, port, list->curbytes, in ctl_populate_token()
2184 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_write_using_token() local
2249 lun->be_lun->maxlba, &lba) != 0) { in ctl_write_using_token()
2274 list->lun = lun; in ctl_write_using_token()
2275 mtx_lock(&lun->lun_lock); in ctl_write_using_token()
2276 tlist = tpc_find_list(lun, list->list_id, list->init_idx); in ctl_write_using_token()
2278 mtx_unlock(&lun->lun_lock); in ctl_write_using_token()
2286 TAILQ_REMOVE(&lun->tpc_lists, tlist, links); in ctl_write_using_token()
2289 TAILQ_INSERT_TAIL(&lun->tpc_lists, list, links); in ctl_write_using_token()
2290 mtx_unlock(&lun->lun_lock); in ctl_write_using_token()
2312 mtx_lock(&lun->lun_lock); in ctl_write_using_token()
2313 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_write_using_token()
2314 mtx_unlock(&lun->lun_lock); in ctl_write_using_token()
2337 struct ctl_lun *lun = CTL_LUN(ctsio); in ctl_receive_rod_token_information() local
2353 mtx_lock(&lun->lun_lock); in ctl_receive_rod_token_information()
2354 list = tpc_find_list(lun, list_id, in ctl_receive_rod_token_information()
2357 mtx_unlock(&lun->lun_lock); in ctl_receive_rod_token_information()
2366 TAILQ_REMOVE(&lun->tpc_lists, list, links); in ctl_receive_rod_token_information()
2369 mtx_unlock(&lun->lun_lock); in ctl_receive_rod_token_information()