Lines Matching refs:dfl

48 	dkioc_free_list_t *dfl;  in dfl_copyin()  local
56 dfl = kmem_alloc(DFL_SZ(dfl_in->dfl_num_exts), kmflags); in dfl_copyin()
57 if (dfl == NULL) in dfl_copyin()
59 bcopy(dfl_in, dfl, DFL_SZ(dfl_in->dfl_num_exts)); in dfl_copyin()
69 dfl = kmem_alloc(DFL_SZ(num_exts), kmflags); in dfl_copyin()
70 if (dfl == NULL) in dfl_copyin()
72 if (ddi_copyin(arg, dfl, DFL_SZ(num_exts), ddi_flags) != 0 || in dfl_copyin()
73 dfl->dfl_num_exts != num_exts) { in dfl_copyin()
74 kmem_free(dfl, DFL_SZ(num_exts)); in dfl_copyin()
79 *out = dfl; in dfl_copyin()
85 dfl_free(dkioc_free_list_t *dfl) in dfl_free() argument
87 kmem_free(dfl, DFL_SZ(dfl->dfl_num_exts)); in dfl_free()
153 dfl_iter(dkioc_free_list_t *dfl, const dkioc_free_info_t *dfi, uint64_t max_off, in dfl_iter() argument
208 if ((r = adjust_exts(dfl, dfi, max_off)) != 0) { in dfl_iter()
221 ext = dfl->dfl_exts; in dfl_iter()
222 for (i = 0; i < dfl->dfl_num_exts; i++, ext++) { in dfl_iter()
223 uint64_t start = dfl->dfl_offset + ext->dfle_start; in dfl_iter()
246 if ((r = process_range(dfl, start_idx, i - start_idx, in dfl_iter()
251 if ((r = split_extent(dfl, dfi, i, func, arg, in dfl_iter()
269 if ((r = process_range(dfl, start_idx, i - start_idx, in dfl_iter()
291 if ((r = split_extent(dfl, dfi, i, func, arg, in dfl_iter()
308 if ((r = process_range(dfl, start_idx, i - start_idx, in dfl_iter()
328 return (func(dfl, arg, kmflag)); in dfl_iter()
331 r = process_range(dfl, start_idx, i - start_idx, func, arg, kmflag); in dfl_iter()
334 dfl_free(dfl); in dfl_iter()
346 adjust_exts(dkioc_free_list_t *dfl, const dkioc_free_info_t *dfi, in adjust_exts() argument
349 dkioc_free_list_ext_t *exts = dfl->dfl_exts; in adjust_exts()
357 for (uint64_t i = 0; i < dfl->dfl_num_exts; i++, exts++) { in adjust_exts()
367 uint64_t start = exts->dfle_start + dfl->dfl_offset; in adjust_exts()
374 if (start < dfl->dfl_offset || start > (UINT64_MAX - bsize)) { in adjust_exts()
396 exts->dfle_start = start - dfl->dfl_offset; in adjust_exts()
414 process_range(dkioc_free_list_t *dfl, uint64_t start_idx, uint64_t n, in process_range() argument
419 dkioc_free_list_ext_t *exts = dfl->dfl_exts + start_idx; in process_range()
449 new_dfl->dfl_flags = dfl->dfl_flags; in process_range()
451 new_dfl->dfl_offset = dfl->dfl_offset; in process_range()
477 split_extent(dkioc_free_list_t *dfl, const dkioc_free_info_t *dfi, uint64_t idx, in split_extent() argument
480 ASSERT3U(idx, <, dfl->dfl_num_exts); in split_extent()
483 dkioc_free_list_ext_t *ext = dfl->dfl_exts + idx; in split_extent()
496 uint64_t start = dfl->dfl_offset + ext->dfle_start; in split_extent()
511 if ((r = process_range(dfl, idx, 1, func, arg, kmflag)) != 0) { in split_extent()