Lines Matching refs:bn
59 #define for_each_xbitmap_extent(bn, bitmap) \ in INTERVAL_TREE_DEFINE() argument
60 for ((bn) = rb_entry_safe(rb_first(&(bitmap)->xb_root.rb_root), \ in INTERVAL_TREE_DEFINE()
62 (bn) != NULL; \
63 (bn) = rb_entry_safe(rb_next(&(bn)->bn_rbnode), \
73 struct xbitmap_node *bn; local
77 while ((bn = xbitmap_tree_iter_first(&bitmap->xb_root, start, last))) {
78 if (bn->bn_start < start && bn->bn_last > last) {
79 uint64_t old_last = bn->bn_last;
82 xbitmap_tree_remove(bn, &bitmap->xb_root);
83 bn->bn_last = start - 1;
84 xbitmap_tree_insert(bn, &bitmap->xb_root);
94 } else if (bn->bn_start < start) {
96 xbitmap_tree_remove(bn, &bitmap->xb_root);
97 bn->bn_last = start - 1;
98 xbitmap_tree_insert(bn, &bitmap->xb_root);
99 } else if (bn->bn_last > last) {
101 xbitmap_tree_remove(bn, &bitmap->xb_root);
102 bn->bn_start = last + 1;
103 xbitmap_tree_insert(bn, &bitmap->xb_root);
107 xbitmap_tree_remove(bn, &bitmap->xb_root);
108 kfree(bn);
180 struct xbitmap_node *bn; in xbitmap_destroy() local
182 while ((bn = xbitmap_tree_iter_first(&bitmap->xb_root, 0, -1ULL))) { in xbitmap_destroy()
183 xbitmap_tree_remove(bn, &bitmap->xb_root); in xbitmap_destroy()
184 kfree(bn); in xbitmap_destroy()
215 struct xbitmap_node *bn; in xbitmap_disunion() local
221 for_each_xbitmap_extent(bn, sub) { in xbitmap_disunion()
222 error = xbitmap_clear(bitmap, bn->bn_start, in xbitmap_disunion()
223 bn->bn_last - bn->bn_start + 1); in xbitmap_disunion()
325 struct xbitmap_node *bn; in xbitmap_hweight() local
328 for_each_xbitmap_extent(bn, bitmap) in xbitmap_hweight()
329 ret += bn->bn_last - bn->bn_start + 1; in xbitmap_hweight()
341 struct xbitmap_node *bn; in xbitmap_walk() local
344 for_each_xbitmap_extent(bn, bitmap) { in xbitmap_walk()
345 error = fn(bn->bn_start, bn->bn_last - bn->bn_start + 1, priv); in xbitmap_walk()
368 struct xbitmap_node *bn; in xbitmap_test() local
371 bn = xbitmap_tree_iter_first(&bitmap->xb_root, start, last); in xbitmap_test()
372 if (!bn) in xbitmap_test()
374 if (bn->bn_start <= start) { in xbitmap_test()
375 if (bn->bn_last < last) in xbitmap_test()
376 *len = bn->bn_last - start + 1; in xbitmap_test()
379 *len = bn->bn_start - start; in xbitmap_test()