Lines Matching refs:tgt

365 	emul64_tgt_t		*tgt;  in bsd_scsi_inquiry()  local
370 tgt = find_tgt(sp->cmd_emul64, in bsd_scsi_inquiry()
387 pqdtype = tgt->emul64_tgt_dtype; in bsd_scsi_inquiry()
412 (void) bcopy(tgt->emul64_tgt_inq, inq.inq_vid, in bsd_scsi_inquiry()
413 sizeof (tgt->emul64_tgt_inq)); in bsd_scsi_inquiry()
631 emul64_tgt_t *tgt; in bsd_mode_sense_dad_mode_geometry() local
667 tgt = find_tgt(sp->cmd_emul64, in bsd_mode_sense_dad_mode_geometry()
670 ncyl = tgt->emul64_tgt_ncyls; in bsd_mode_sense_dad_mode_geometry()
674 page4.heads = uint_to_byte0(tgt->emul64_tgt_nheads); in bsd_mode_sense_dad_mode_geometry()
807 emul64_tgt_t *tgt; in bsd_mode_sense_dad_mode_format() local
844 tgt = find_tgt(sp->cmd_emul64, in bsd_mode_sense_dad_mode_format()
847 page3.sect_track = ushort_to_scsi_ushort(tgt->emul64_tgt_nsect); in bsd_mode_sense_dad_mode_format()
926 emul64_tgt_t *tgt; in bsd_scsi_read_capacity_8() local
931 tgt = find_tgt(sp->cmd_emul64, in bsd_scsi_read_capacity_8()
934 if (tgt->emul64_tgt_sectors > 0xffffffff) in bsd_scsi_read_capacity_8()
938 uint32_to_scsi_uint32(tgt->emul64_tgt_sectors); in bsd_scsi_read_capacity_8()
952 emul64_tgt_t *tgt; in bsd_scsi_read_capacity_16() local
957 tgt = find_tgt(sp->cmd_emul64, in bsd_scsi_read_capacity_16()
961 cap.sc_capacity = uint64_to_scsi_uint64(tgt->emul64_tgt_sectors); in bsd_scsi_read_capacity_16()
1016 emul64_tgt_t *tgt; in bsd_readblks() local
1030 tgt = find_tgt(emul64, target, lun); in bsd_readblks()
1032 if (tgt == NULL) { in bsd_readblks()
1044 mutex_enter(&tgt->emul64_tgt_blk_lock); in bsd_readblks()
1052 rw_enter(&tgt->emul64_tgt_nw_lock, RW_READER); in bsd_readblks()
1054 overlap = bsd_tgt_overlap(tgt, blkno, nblks); in bsd_readblks()
1062 rw_exit(&tgt->emul64_tgt_nw_lock); in bsd_readblks()
1072 if (blkno > tgt->emul64_tgt_sectors) in bsd_readblks()
1074 blk = bsd_findblk(tgt, blkno, NULL); in bsd_readblks()
1083 rw_exit(&tgt->emul64_tgt_nw_lock); in bsd_readblks()
1086 mutex_exit(&tgt->emul64_tgt_blk_lock); in bsd_readblks()
1097 emul64_tgt_t *tgt; in bsd_writeblks() local
1112 tgt = find_tgt(emul64, target, lun); in bsd_writeblks()
1114 if (tgt == NULL) { in bsd_writeblks()
1126 mutex_enter(&tgt->emul64_tgt_blk_lock); in bsd_writeblks()
1134 rw_enter(&tgt->emul64_tgt_nw_lock, RW_READER); in bsd_writeblks()
1135 overlap = bsd_tgt_overlap(tgt, blkno, nblks); in bsd_writeblks()
1145 rw_exit(&tgt->emul64_tgt_nw_lock); in bsd_writeblks()
1146 mutex_exit(&tgt->emul64_tgt_blk_lock); in bsd_writeblks()
1154 (bsd_tgt_overlap(tgt, blkno, 1) == O_NONE)) { in bsd_writeblks()
1164 if (blkno > tgt->emul64_tgt_sectors) { in bsd_writeblks()
1168 tgt->emul64_tgt_sectors); in bsd_writeblks()
1172 blk = bsd_findblk(tgt, blkno, &where); in bsd_writeblks()
1175 bsd_freeblk(tgt, blk); in bsd_writeblks()
1182 bsd_allocblk(tgt, blkno, in bsd_writeblks()
1195 rw_exit(&tgt->emul64_tgt_nw_lock); in bsd_writeblks()
1198 mutex_exit(&tgt->emul64_tgt_blk_lock); in bsd_writeblks()
1207 emul64_tgt_t *tgt; in find_tgt() local
1209 tgt = emul64->emul64_tgt; in find_tgt()
1210 while (tgt) { in find_tgt()
1211 if (tgt->emul64_tgt_saddr.a_target == target && in find_tgt()
1212 tgt->emul64_tgt_saddr.a_lun == lun) { in find_tgt()
1215 tgt = tgt->emul64_tgt_next; in find_tgt()
1217 return (tgt); in find_tgt()
1225 bsd_freeblkrange(emul64_tgt_t *tgt, emul64_range_t *range) in bsd_freeblkrange() argument
1230 ASSERT(mutex_owned(&tgt->emul64_tgt_blk_lock)); in bsd_freeblkrange()
1231 for (blk = (blklist_t *)avl_first(&tgt->emul64_tgt_data); in bsd_freeblkrange()
1238 nextblk = AVL_NEXT(&tgt->emul64_tgt_data, blk); in bsd_freeblkrange()
1241 bsd_freeblk(tgt, blk); in bsd_freeblkrange()
1248 bsd_findblk(emul64_tgt_t *tgt, diskaddr_t blkno, avl_index_t *where) in bsd_findblk() argument
1253 ASSERT(mutex_owned(&tgt->emul64_tgt_blk_lock)); in bsd_findblk()
1256 blk = (blklist_t *)avl_find(&tgt->emul64_tgt_data, &search, where); in bsd_findblk()
1262 bsd_allocblk(emul64_tgt_t *tgt, in bsd_allocblk() argument
1273 ASSERT(mutex_owned(&tgt->emul64_tgt_blk_lock)); in bsd_allocblk()
1279 avl_insert(&tgt->emul64_tgt_data, (void *) blk, where); in bsd_allocblk()
1284 tgt->emul64_list_length++; in bsd_allocblk()
1285 if (tgt->emul64_list_length > emul64_max_list_length) { in bsd_allocblk()
1286 emul64_max_list_length = tgt->emul64_list_length; in bsd_allocblk()
1293 bsd_freeblk(emul64_tgt_t *tgt, blklist_t *blk) in bsd_freeblk() argument
1297 emul64_name, tgt->emul64_tgt_saddr.a_target, in bsd_freeblk()
1298 tgt->emul64_tgt_saddr.a_lun, blk->bl_blkno); in bsd_freeblk()
1300 ASSERT(mutex_owned(&tgt->emul64_tgt_blk_lock)); in bsd_freeblk()
1302 avl_remove(&tgt->emul64_tgt_data, (void *) blk); in bsd_freeblk()
1306 tgt->emul64_list_length--; in bsd_freeblk()
1321 bsd_tgt_overlap(emul64_tgt_t *tgt, diskaddr_t blkno, int count) in bsd_tgt_overlap() argument
1326 for (nw = tgt->emul64_tgt_nowrite; in bsd_tgt_overlap()