Lines Matching refs:sl

107 sbd_zvol_get_volume_params(sbd_lu_t *sl)  in sbd_zvol_get_volume_params()  argument
111 ret = zvol_get_volume_params(sl->sl_zvol_minor, in sbd_zvol_get_volume_params()
112 &sl->sl_blksize, /* volume block size */ in sbd_zvol_get_volume_params()
113 &sl->sl_max_xfer_len, /* max data chunk size */ in sbd_zvol_get_volume_params()
114 &sl->sl_zvol_minor_hdl, /* minor soft state */ in sbd_zvol_get_volume_params()
115 &sl->sl_zvol_objset_hdl, /* dmu_tx_create */ in sbd_zvol_get_volume_params()
116 &sl->sl_zvol_zil_hdl, /* zil_commit */ in sbd_zvol_get_volume_params()
117 &sl->sl_zvol_rl_hdl, /* locked_range_t */ in sbd_zvol_get_volume_params()
118 &sl->sl_zvol_dn_hdl); /* dmu_buf_hold_array_by_dnode, */ in sbd_zvol_get_volume_params()
122 if (ret == 0 && sl->sl_blksize < MMU_PAGESIZE) { in sbd_zvol_get_volume_params()
124 "small zvol blocksize (%d)\n", (int)sl->sl_blksize); in sbd_zvol_get_volume_params()
136 sbd_zvol_numsegs(sbd_lu_t *sl, uint64_t off, uint32_t len) in sbd_zvol_numsegs() argument
138 uint64_t blksz = sl->sl_blksize; in sbd_zvol_numsegs()
154 sbd_zvol_alloc_read_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf) in sbd_zvol_alloc_read_bufs() argument
164 if (len > sl->sl_max_xfer_len) in sbd_zvol_alloc_read_bufs()
166 if (offset + len > zvol_get_volume_size(sl->sl_zvol_minor_hdl)) in sbd_zvol_alloc_read_bufs()
173 lr = rangelock_enter(sl->sl_zvol_rl_hdl, offset, len, RL_READER); in sbd_zvol_alloc_read_bufs()
175 error = dmu_buf_hold_array_by_dnode(sl->sl_zvol_dn_hdl, in sbd_zvol_alloc_read_bufs()
222 sbd_zvol_rele_read_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf) in sbd_zvol_rele_read_bufs() argument
240 sbd_zvol_alloc_write_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf) in sbd_zvol_alloc_write_bufs() argument
251 if (len > sl->sl_max_xfer_len) in sbd_zvol_alloc_write_bufs()
253 if (offset + len > zvol_get_volume_size(sl->sl_zvol_minor_hdl)) in sbd_zvol_alloc_write_bufs()
264 blksize = sl->sl_blksize; in sbd_zvol_alloc_write_bufs()
298 abp[i] = arc_loan_buf(dmu_objset_spa(sl->sl_zvol_objset_hdl), in sbd_zvol_alloc_write_bufs()
315 sbd_zvol_rele_write_bufs_abort(sbd_lu_t *sl, stmf_data_buf_t *dbuf) in sbd_zvol_rele_write_bufs_abort() argument
336 sbd_zvol_rele_write_bufs(sbd_lu_t *sl, stmf_data_buf_t *dbuf) in sbd_zvol_rele_write_bufs() argument
349 lr = rangelock_enter(sl->sl_zvol_rl_hdl, offset, len, RL_WRITER); in sbd_zvol_rele_write_bufs()
351 tx = dmu_tx_create(sl->sl_zvol_objset_hdl); in sbd_zvol_rele_write_bufs()
358 sbd_zvol_rele_write_bufs_abort(sl, dbuf); in sbd_zvol_rele_write_bufs()
370 (void) dmu_assign_arcbuf_by_dnode(sl->sl_zvol_dn_hdl, in sbd_zvol_rele_write_bufs()
377 sync = !zvol_get_volume_wce(sl->sl_zvol_minor_hdl); in sbd_zvol_rele_write_bufs()
378 zvol_log_write_minor(sl->sl_zvol_minor_hdl, tx, offset, in sbd_zvol_rele_write_bufs()
386 zil_commit(sl->sl_zvol_zil_hdl, ZVOL_OBJ); in sbd_zvol_rele_write_bufs()
395 sbd_zvol_copy_read(sbd_lu_t *sl, uio_t *uio) in sbd_zvol_copy_read() argument
401 if (len > sl->sl_max_xfer_len) in sbd_zvol_copy_read()
403 if (offset + len > zvol_get_volume_size(sl->sl_zvol_minor_hdl)) in sbd_zvol_copy_read()
406 locked_range_t *lr = rangelock_enter(sl->sl_zvol_rl_hdl, offset, len, in sbd_zvol_copy_read()
408 int error = dmu_read_uio_dnode(sl->sl_zvol_dn_hdl, uio, len); in sbd_zvol_copy_read()
421 sbd_zvol_copy_write(sbd_lu_t *sl, uio_t *uio, int flags) in sbd_zvol_copy_write() argument
431 if (len > sl->sl_max_xfer_len) in sbd_zvol_copy_write()
433 if (offset + len > zvol_get_volume_size(sl->sl_zvol_minor_hdl)) in sbd_zvol_copy_write()
436 locked_range_t *lr = rangelock_enter(sl->sl_zvol_rl_hdl, offset, len, in sbd_zvol_copy_write()
438 sync = !zvol_get_volume_wce(sl->sl_zvol_minor_hdl); in sbd_zvol_copy_write()
440 tx = dmu_tx_create(sl->sl_zvol_objset_hdl); in sbd_zvol_copy_write()
446 error = dmu_write_uio_dnode(sl->sl_zvol_dn_hdl, uio, len, tx); in sbd_zvol_copy_write()
448 zvol_log_write_minor(sl->sl_zvol_minor_hdl, tx, offset, in sbd_zvol_copy_write()
456 zil_commit(sl->sl_zvol_zil_hdl, ZVOL_OBJ); in sbd_zvol_copy_write()