sbd_lu_t
sbd_lu_t slu;
if (mdb_vread(&slu, sizeof (sbd_lu_t), addr) == -1) {
stmf_sbd_lu_cb(uintptr_t addr, const sbd_lu_t *slu, stmf_sbd_cb_t *cb_st)
sbd_lu_t slu;
if (mdb_vread(&slu, sizeof (sbd_lu_t), addr) == -1) {
sbd_lu_t slu;
if (mdb_vread(&slu, sizeof (sbd_lu_t), addr) == -1) {
sbd_lu_t slu;
if (mdb_vread(&slu, sizeof (sbd_lu_t), addr) == -1) {
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
int sbd_check_reservation_conflict(sbd_lu_t *sl, scsi_task_t *task);
sbd_lu_t *src_slu, *dst_slu;
src_slu = (sbd_lu_t *)lu->lu_provider_private;
dst_slu = (sbd_lu_t *)lu->lu_provider_private;
sbd_status_t sbd_write_zfs_meta(sbd_lu_t *sl, uint8_t *buf, uint64_t sz,
sbd_read_meta_section(sbd_lu_t *sl, sm_section_hdr_t **ppsms, uint16_t sms_id)
sbd_status_t sbd_update_zfs_prop(sbd_lu_t *sl);
sbd_load_section_hdr_unbuffered(sbd_lu_t *sl, sm_section_hdr_t *sms)
sbd_write_meta_section(sbd_lu_t *sl, sm_section_hdr_t *sms)
void sbd_close_lu(sbd_lu_t *sl);
static sbd_lu_t *sbd_lu_list = NULL;
sbd_write_lu_info(sbd_lu_t *sl)
do_unmap_setup(sbd_lu_t *sl)
sbd_populate_and_register_lu(sbd_lu_t *sl, uint32_t *err_ret)
sbd_open_data_file(sbd_lu_t *sl, uint32_t *err_ret, int lu_size_valid,
sbd_close_lu(sbd_lu_t *sl)
sbd_lu_t *sl;
sbd_close_delete_lu(sbd_lu_t *sl, int ret)
sbd_lu_t *sl;
alloc_sz = sizeof (sbd_lu_t) + sizeof (sbd_pgr_t);
sl = (sbd_lu_t *)lu->lu_provider_private;
p = ((char *)sl) + sizeof (sbd_lu_t) + sizeof (sbd_pgr_t);
sbd_lu_t *sl;
sbd_lu_t *sl;
alloc_sz = sizeof (sbd_lu_t) + sizeof (sbd_pgr_t) +
sl = (sbd_lu_t *)lu->lu_provider_private;
sl->sl_meta_filename = ((char *)sl) + sizeof (sbd_lu_t) +
sbd_lu_t *slu;
sbd_load_sli_1_0(sbd_lu_t *sl, uint32_t *err_ret)
int no_register, sbd_lu_t **slr)
sbd_lu_t *sl;
sizeof (sbd_lu_t) + sizeof (sbd_pgr_t) + asz, 0);
sl = (sbd_lu_t *)lu->lu_provider_private;
sbd_lu_t *sl = NULL;
sbd_lu_t *sl = NULL;
sbd_delete_locked_lu(sbd_lu_t *sl, uint32_t *err_ret,
sbd_lu_t *sl;
sbd_data_read(sbd_lu_t *sl, struct scsi_task *task,
DTRACE_PROBE5(backing__store__read__start, sbd_lu_t *, sl,
DTRACE_PROBE6(backing__store__read__end, sbd_lu_t *, sl,
sbd_data_write(sbd_lu_t *sl, struct scsi_task *task,
DTRACE_PROBE5(backing__store__write__start, sbd_lu_t *, sl,
DTRACE_PROBE6(backing__store__write__end, sbd_lu_t *, sl,
sbd_lu_t *sl = NULL;
sbd_lu_t *sl = NULL;
sbd_get_zvol_name(sbd_lu_t *sl)
sbd_create_zfs_meta_object(sbd_lu_t *sl)
sbd_open_zfs_meta(sbd_lu_t *sl)
sbd_read_zfs_meta(sbd_lu_t *sl, uint8_t *buf, uint64_t sz, uint64_t off)
sbd_write_zfs_meta(sbd_lu_t *sl, uint8_t *buf, uint64_t sz, uint64_t off)
sbd_update_zfs_prop(sbd_lu_t *sl)
sbd_lu_t *nsl;
sbd_wcd_set(int wcd, sbd_lu_t *sl)
sbd_wcd_get(int *wcd, sbd_lu_t *sl)
sbd_unmap(sbd_lu_t *sl, dkioc_free_list_t *dfl)
sbd_lu_t *sl = (sbd_lu_t *)lu->lu_provider_private;
extern sbd_status_t sbd_pgr_meta_init(sbd_lu_t *sl);
extern sbd_status_t sbd_pgr_meta_load(sbd_lu_t *sl);
sbd_link_lu(sbd_lu_t *sl)
sbd_lu_t *nsl;
extern void sbd_pgr_reset(sbd_lu_t *sl);
sbd_unlink_lu(sbd_lu_t *sl)
sbd_lu_t **ppnsl;
sbd_lu_t **ppsl)
sbd_lu_t *sl;
sbd_read_meta(sbd_lu_t *sl, uint64_t offset, uint64_t size, uint8_t *buf)
sbd_write_meta(sbd_lu_t *sl, uint64_t offset, uint64_t size, uint8_t *buf)
int no_register, sbd_lu_t **slr);
int sbd_import_active_lu(sbd_import_lu_t *ilu, sbd_lu_t *sl, uint32_t *err_ret);
sbd_load_section_hdr(sbd_lu_t *sl, sm_section_hdr_t *sms)
static char *sbd_get_zvol_name(sbd_lu_t *);
sbd_load_meta_start(sbd_lu_t *sl)
sbd_status_t sbd_create_zfs_meta_object(sbd_lu_t *sl);
sbd_status_t sbd_open_zfs_meta(sbd_lu_t *sl);
sbd_status_t sbd_read_zfs_meta(sbd_lu_t *sl, uint8_t *buf, uint64_t sz,
sbd_write_meta_start(sbd_lu_t *sl, uint64_t meta_size, uint64_t meta_size_used)
int sbd_zvol_get_volume_params(sbd_lu_t *sl);
uint32_t sbd_zvol_numsegs(sbd_lu_t *sl, uint64_t off, uint32_t len);
int sbd_zvol_alloc_read_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf);
void sbd_zvol_rele_read_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf);
int sbd_zvol_alloc_write_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf);
void sbd_zvol_rele_write_bufs_abort(sbd_lu_t *sl, stmf_data_buf_t *dbuf);
int sbd_zvol_rele_write_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf);
int sbd_zvol_copy_read(sbd_lu_t *sl, uio_t *uio);
int sbd_zvol_copy_write(sbd_lu_t *sl, uio_t *uio, int flags);
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_pgr_do_register(sbd_lu_t *slu, sbd_it_data_t *it, scsi_devid_desc_t *lpt,
sbd_pgr_do_unregister(sbd_lu_t *slu, sbd_it_data_t *it, sbd_pgr_key_t *key)
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_pgr_do_release(sbd_lu_t *slu, sbd_it_data_t *it, uint8_t ua_condition)
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_pgr_remove_it_handle(sbd_lu_t *sl, sbd_it_data_t *my_it)
sbd_get_devid_string(sbd_lu_t *sl)
sbd_pgr_meta_init(sbd_lu_t *slu)
sbd_pgr_should_save(sbd_lu_t *slu)
sbd_pgr_meta_load(sbd_lu_t *slu)
void sbd_pgr_reset(sbd_lu_t *);
sbd_pgr_meta_write(sbd_lu_t *slu)
void sbd_pgr_keylist_dealloc(sbd_lu_t *);
char *sbd_get_devid_string(sbd_lu_t *);
sbd_status_t sbd_pgr_meta_init(sbd_lu_t *);
sbd_status_t sbd_pgr_meta_load(sbd_lu_t *);
sbd_status_t sbd_pgr_meta_write(sbd_lu_t *);
static void sbd_pgr_remove_key(sbd_lu_t *, sbd_pgr_key_t *);
sbd_pgr_keylist_dealloc(sbd_lu_t *slu)
static uint32_t sbd_pgr_remove_keys(sbd_lu_t *, sbd_it_data_t *,
sbd_pgr_reset(sbd_lu_t *slu)
sbd_pgr_remove_key(sbd_lu_t *slu, sbd_pgr_key_t *key)
static void sbd_pgr_set_pgr_check_flag(sbd_lu_t *, boolean_t);
sbd_pgr_remove_keys(sbd_lu_t *slu, sbd_it_data_t *my_it, sbd_pgr_key_t *my_key,
static void sbd_pgr_set_ua_conditions(sbd_lu_t *, sbd_it_data_t *, uint8_t);
sbd_pgr_set_ua_conditions(sbd_lu_t *slu, sbd_it_data_t *my_it, uint8_t ua)
sbd_pgr_set_pgr_check_flag(sbd_lu_t *slu, boolean_t registered)
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
static sbd_pgr_key_t *sbd_pgr_do_register(sbd_lu_t *, sbd_it_data_t *,
static void sbd_pgr_do_unregister(sbd_lu_t *, sbd_it_data_t *, sbd_pgr_key_t *);
static void sbd_pgr_do_release(sbd_lu_t *, sbd_it_data_t *, uint8_t);
sbd_pgr_reservation_conflict(scsi_task_t *task, sbd_lu_t *slu)
static boolean_t sbd_pgr_should_save(sbd_lu_t *);
extern sbd_status_t sbd_write_meta_section(sbd_lu_t *, sm_section_hdr_t *);
extern sbd_status_t sbd_read_meta_section(sbd_lu_t *, sm_section_hdr_t **,
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *slu = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
extern void sbd_pgr_reset(sbd_lu_t *);
extern void sbd_pgr_remove_it_handle(sbd_lu_t *, sbd_it_data_t *);
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_write_same_data_common(sbd_lu_t *sl, struct scsi_task *task, uint64_t addr,
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_remove_it_handle(sbd_lu_t *sl, sbd_it_data_t *it)
sbd_check_and_clear_scsi2_reservation(sbd_lu_t *sl, sbd_it_data_t *it)
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
DTRACE_PROBE5(backing__store__read__start, sbd_lu_t *, sl,
DTRACE_PROBE6(backing__store__read__end, sbd_lu_t *, sl,
sbd_lu_t *sl = (sbd_lu_t *)lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)lu->lu_provider_private;
sbd_flush_data_cache(sbd_lu_t *sl, int fsync_done)
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
DTRACE_PROBE5(backing__store__write__start, sbd_lu_t *, sl,
DTRACE_PROBE6(backing__store__write__end, sbd_lu_t *, sl,
sbd_lu_t *sl = task->task_lu->lu_provider_private;
DTRACE_PROBE5(backing__store__read__start, sbd_lu_t *, sl,
DTRACE_PROBE6(backing__store__read__end, sbd_lu_t *, sl,
DTRACE_PROBE5(backing__store__write__start, sbd_lu_t *, sl,
DTRACE_PROBE6(backing__store__write__end, sbd_lu_t *, sl,
sbd_lu_t *sl = (sbd_lu_t *)task->task_lu->lu_provider_private;
sbd_zvol_get_volume_params(sbd_lu_t *sl)
sbd_zvol_numsegs(sbd_lu_t *sl, uint64_t off, uint32_t len)
sbd_zvol_alloc_read_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf)
sbd_zvol_rele_read_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf)
sbd_zvol_alloc_write_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf)
sbd_zvol_rele_write_bufs_abort(sbd_lu_t *sl, stmf_data_buf_t *dbuf)
sbd_zvol_rele_write_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf)
sbd_zvol_copy_read(sbd_lu_t *sl, uio_t *uio)
sbd_zvol_copy_write(sbd_lu_t *sl, uio_t *uio, int flags)
sbd_status_t sbd_data_read(sbd_lu_t *sl, scsi_task_t *task,
sbd_status_t sbd_data_write(sbd_lu_t *sl, scsi_task_t *task,
sbd_status_t sbd_write_lu_info(sbd_lu_t *sl);
sbd_status_t sbd_flush_data_cache(sbd_lu_t *sl, int fsync_done);
sbd_status_t sbd_wcd_set(int wcd, sbd_lu_t *sl);
void sbd_wcd_get(int *wcd, sbd_lu_t *sl);
int sbd_unmap(sbd_lu_t *sl, dkioc_free_list_t *dfl);