Lines Matching refs:bp
162 static void rb_free_extent(struct ext2fs_rb_private *bp, in rb_free_extent() argument
165 if (bp->wcursor == ext) in rb_free_extent()
166 bp->wcursor = NULL; in rb_free_extent()
167 if (bp->rcursor == ext) in rb_free_extent()
168 bp->rcursor = NULL; in rb_free_extent()
169 if (bp->rcursor_next == ext) in rb_free_extent()
170 bp->rcursor_next = NULL; in rb_free_extent()
176 struct ext2fs_rb_private *bp; in rb_alloc_private_data() local
179 retval = ext2fs_get_mem(sizeof (struct ext2fs_rb_private), &bp); in rb_alloc_private_data()
183 bp->root = RB_ROOT; in rb_alloc_private_data()
184 bp->rcursor = NULL; in rb_alloc_private_data()
185 bp->rcursor_next = NULL; in rb_alloc_private_data()
186 bp->wcursor = NULL; in rb_alloc_private_data()
189 bp->test_hit = 0; in rb_alloc_private_data()
190 bp->mark_hit = 0; in rb_alloc_private_data()
193 bitmap->private = (void *) bp; in rb_alloc_private_data()
224 struct ext2fs_rb_private *bp; in rb_free_bmap() local
226 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_free_bmap()
228 rb_free_tree(&bp->root); in rb_free_bmap()
229 ext2fs_free_mem(&bp); in rb_free_bmap()
230 bp = 0; in rb_free_bmap()
302 struct ext2fs_rb_private *bp; in rb_resize_bmap() local
304 bp = (struct ext2fs_rb_private *) bmap->private; in rb_resize_bmap()
305 bp->rcursor = NULL; in rb_resize_bmap()
306 bp->wcursor = NULL; in rb_resize_bmap()
309 &bp->root); in rb_resize_bmap()
316 bmap->real_end - bmap->end, bp); in rb_resize_bmap()
322 rb_test_bit(struct ext2fs_rb_private *bp, __u64 bit) in rb_test_bit() argument
326 struct rb_node **n = &bp->root.rb_node; in rb_test_bit()
329 rcursor = bp->rcursor; in rb_test_bit()
335 bp->test_hit++; in rb_test_bit()
340 next_ext = bp->rcursor_next; in rb_test_bit()
345 bp->rcursor_next = next_ext; in rb_test_bit()
351 bp->test_hit++; in rb_test_bit()
356 bp->rcursor = NULL; in rb_test_bit()
357 bp->rcursor_next = NULL; in rb_test_bit()
359 rcursor = bp->wcursor; in rb_test_bit()
376 bp->rcursor = ext; in rb_test_bit()
377 bp->rcursor_next = NULL; in rb_test_bit()
385 struct ext2fs_rb_private *bp) in rb_insert_extent() argument
387 struct rb_root *root = &bp->root; in rb_insert_extent()
394 bp->rcursor_next = NULL; in rb_insert_extent()
395 ext = bp->wcursor; in rb_insert_extent()
400 bp->mark_hit++; in rb_insert_extent()
438 bp->wcursor = new_ext; in rb_insert_extent()
447 rb_free_extent(bp, ext); in rb_insert_extent()
467 rb_free_extent(bp, ext); in rb_insert_extent()
474 rb_free_extent(bp, ext); in rb_insert_extent()
486 struct ext2fs_rb_private *bp) in rb_remove_extent() argument
488 struct rb_root *root = &bp->root; in rb_remove_extent()
517 rb_insert_extent(new_start, new_count, bp); in rb_remove_extent()
529 rb_free_extent(bp, ext); in rb_remove_extent()
554 rb_free_extent(bp, ext); in rb_remove_extent()
571 struct ext2fs_rb_private *bp; in rb_mark_bmap() local
574 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_mark_bmap()
577 retval = rb_insert_extent(arg, 1, bp); in rb_mark_bmap()
578 check_tree(&bp->root, __func__); in rb_mark_bmap()
584 struct ext2fs_rb_private *bp; in rb_unmark_bmap() local
587 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_unmark_bmap()
590 retval = rb_remove_extent(arg, 1, bp); in rb_unmark_bmap()
591 check_tree(&bp->root, __func__); in rb_unmark_bmap()
599 struct ext2fs_rb_private *bp; in rb_test_bmap() local
601 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_test_bmap()
604 return rb_test_bit(bp, arg); in rb_test_bmap()
610 struct ext2fs_rb_private *bp; in rb_mark_bmap_extent() local
612 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_mark_bmap_extent()
615 rb_insert_extent(arg, num, bp); in rb_mark_bmap_extent()
616 check_tree(&bp->root, __func__); in rb_mark_bmap_extent()
622 struct ext2fs_rb_private *bp; in rb_unmark_bmap_extent() local
624 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_unmark_bmap_extent()
627 rb_remove_extent(arg, num, bp); in rb_unmark_bmap_extent()
628 check_tree(&bp->root, __func__); in rb_unmark_bmap_extent()
636 struct ext2fs_rb_private *bp; in rb_test_clear_bmap_extent() local
640 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_test_clear_bmap_extent()
641 n = &bp->root.rb_node; in rb_test_clear_bmap_extent()
644 if (len == 0 || ext2fs_rb_empty_root(&bp->root)) in rb_test_clear_bmap_extent()
690 struct ext2fs_rb_private *bp; in rb_set_bmap_range() local
695 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_set_bmap_range()
720 i - first_set, bp); in rb_set_bmap_range()
721 check_tree(&bp->root, __func__); in rb_set_bmap_range()
726 num - first_set, bp); in rb_set_bmap_range()
727 check_tree(&bp->root, __func__); in rb_set_bmap_range()
738 struct ext2fs_rb_private *bp; in rb_get_bmap_range() local
742 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_get_bmap_range()
743 n = &bp->root.rb_node; in rb_get_bmap_range()
746 if (ext2fs_rb_empty_root(&bp->root)) in rb_get_bmap_range()
800 struct ext2fs_rb_private *bp; in rb_clear_bmap() local
802 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_clear_bmap()
804 rb_free_tree(&bp->root); in rb_clear_bmap()
805 bp->rcursor = NULL; in rb_clear_bmap()
806 bp->rcursor_next = NULL; in rb_clear_bmap()
807 bp->wcursor = NULL; in rb_clear_bmap()
808 check_tree(&bp->root, __func__); in rb_clear_bmap()
815 struct ext2fs_rb_private *bp; in rb_find_first_zero() local
818 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_find_first_zero()
819 n = &bp->root.rb_node; in rb_find_first_zero()
826 if (ext2fs_rb_empty_root(&bp->root)) in rb_find_first_zero()
852 struct ext2fs_rb_private *bp; in rb_find_first_set() local
855 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_find_first_set()
856 n = &bp->root.rb_node; in rb_find_first_set()
863 if (ext2fs_rb_empty_root(&bp->root)) in rb_find_first_set()
898 struct ext2fs_rb_private *bp; in rb_print_stats() local
911 bp = (struct ext2fs_rb_private *) bitmap->private; in rb_print_stats()
913 for (node = ext2fs_rb_first(&bp->root); node != NULL; in rb_print_stats()
934 m_hit = ((double)bp->mark_hit / mark_all) * 100; in rb_print_stats()
936 t_hit = ((double)bp->test_hit / test_all) * 100; in rb_print_stats()
940 bp->test_hit, t_hit, bp->mark_hit, m_hit); in rb_print_stats()