Lines Matching refs:sl

71 sbd_ats_do_handling_before_io(scsi_task_t *task, struct sbd_lu *sl,  in sbd_ats_do_handling_before_io()  argument
106 mutex_enter(&sl->sl_lock); in sbd_ats_do_handling_before_io()
112 if (list_is_empty(&sl->sl_ats_io_list)) { in sbd_ats_do_handling_before_io()
130 for (ats_state = list_head(&sl->sl_ats_io_list); ats_state != NULL; in sbd_ats_do_handling_before_io()
131 ats_state = list_next(&sl->sl_ats_io_list, ats_state)) { in sbd_ats_do_handling_before_io()
162 if (list_is_empty(&sl->sl_ats_io_list)) { in sbd_ats_do_handling_before_io()
163 list_insert_head(&sl->sl_ats_io_list, ats_state_ret); in sbd_ats_do_handling_before_io()
165 list_insert_tail(&sl->sl_ats_io_list, ats_state_ret); in sbd_ats_do_handling_before_io()
170 mutex_exit(&sl->sl_lock); in sbd_ats_do_handling_before_io()
174 mutex_exit(&sl->sl_lock); in sbd_ats_do_handling_before_io()
179 sbd_ats_handling_before_io(scsi_task_t *task, struct sbd_lu *sl, in sbd_ats_handling_before_io() argument
182 return (sbd_ats_do_handling_before_io(task, sl, lba, count, 0)); in sbd_ats_handling_before_io()
189 sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private; in sbd_ats_remove_by_task() local
203 mutex_enter(&sl->sl_lock); in sbd_ats_remove_by_task()
204 if (list_is_empty(&sl->sl_ats_io_list)) { in sbd_ats_remove_by_task()
205 mutex_exit(&sl->sl_lock); in sbd_ats_remove_by_task()
209 for (ats_state = list_head(&sl->sl_ats_io_list); ats_state != NULL; in sbd_ats_remove_by_task()
210 ats_state = list_next(&sl->sl_ats_io_list, ats_state)) { in sbd_ats_remove_by_task()
213 list_remove(&sl->sl_ats_io_list, ats_state); in sbd_ats_remove_by_task()
221 mutex_exit(&sl->sl_lock); in sbd_ats_remove_by_task()
228 sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private; in sbd_compare_and_write() local
237 addr <<= sl->sl_data_blocksize_shift; in sbd_compare_and_write()
238 len <<= sl->sl_data_blocksize_shift; in sbd_compare_and_write()
240 ret = sbd_data_read(sl, task, addr, (uint64_t)len, buf); in sbd_compare_and_write()
257 ret = sbd_data_write(sl, task, addr, (uint64_t)len, in sbd_compare_and_write()
469 sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private; in sbd_handle_ats() local
487 if (sl->sl_flags & SL_WRITE_PROTECTED) { in sbd_handle_ats()
508 if (sbd_ats_handling_before_io(task, sl, addr, len) != SBD_SUCCESS) { in sbd_handle_ats()
515 addr <<= sl->sl_data_blocksize_shift; in sbd_handle_ats()
516 len <<= sl->sl_data_blocksize_shift; in sbd_handle_ats()
523 if ((addr + len) > sl->sl_lu_size) { in sbd_handle_ats()
603 int sbd_check_reservation_conflict(sbd_lu_t *sl, scsi_task_t *task);