Lines Matching refs:off

244 rangelock_split(avl_tree_t *tree, locked_range_t *lr, uint64_t off)  in rangelock_split()  argument
247 ASSERT3U(off, >, lr->lr_offset); in rangelock_split()
248 ASSERT3U(off, <, lr->lr_offset + lr->lr_length); in rangelock_split()
254 rear->lr_offset = off; in rangelock_split()
255 rear->lr_length = lr->lr_offset + lr->lr_length - off; in rangelock_split()
263 front->lr_length = off - lr->lr_offset; in rangelock_split()
273 rangelock_new_proxy(avl_tree_t *tree, uint64_t off, uint64_t len) in rangelock_new_proxy() argument
277 lr->lr_offset = off; in rangelock_new_proxy()
292 uint64_t off = new->lr_offset; in rangelock_add_reader() local
303 if (prev->lr_offset + prev->lr_length <= off) { in rangelock_add_reader()
305 } else if (prev->lr_offset != off) { in rangelock_add_reader()
310 prev = rangelock_split(tree, prev, off); in rangelock_add_reader()
314 ASSERT((prev == NULL) || (prev->lr_offset == off)); in rangelock_add_reader()
321 if (next == NULL || off + len <= next->lr_offset) { in rangelock_add_reader()
327 if (off < next->lr_offset) { in rangelock_add_reader()
329 rangelock_new_proxy(tree, off, next->lr_offset - off); in rangelock_add_reader()
340 if (off + len <= next->lr_offset) in rangelock_add_reader()
352 if (off + len == next->lr_offset + next->lr_length) { in rangelock_add_reader()
358 if (off + len < next->lr_offset + next->lr_length) { in rangelock_add_reader()
360 next = rangelock_split(tree, next, off + len); in rangelock_add_reader()
364 ASSERT3U(off + len, >, next->lr_offset + next->lr_length); in rangelock_add_reader()
371 (off + len) - (prev->lr_offset + prev->lr_length)); in rangelock_add_reader()
383 uint64_t off = new->lr_offset; in rangelock_enter_reader() local
397 if (prev && (off < prev->lr_offset + prev->lr_length)) { in rangelock_enter_reader()
407 if (off + len < prev->lr_offset + prev->lr_length) in rangelock_enter_reader()
420 if (off + len <= next->lr_offset) in rangelock_enter_reader()
431 if (off + len <= next->lr_offset + next->lr_length) in rangelock_enter_reader()
451 rangelock_enter(rangelock_t *rl, uint64_t off, uint64_t len, in rangelock_enter() argument
458 new->lr_offset = off; in rangelock_enter()
459 if (len + off < off) /* overflow */ in rangelock_enter()
460 len = UINT64_MAX - off; in rangelock_enter()
593 rangelock_reduce(locked_range_t *lr, uint64_t off, uint64_t len) in rangelock_reduce() argument
606 lr->lr_offset = off; in rangelock_reduce()