Lines Matching refs:bitnr
301 static unsigned int bm_bit_to_page_idx(struct drbd_bitmap *b, u64 bitnr) in bm_bit_to_page_idx() argument
304 unsigned int page_nr = bitnr >> (PAGE_SHIFT + 3); in bm_bit_to_page_idx()
1344 unsigned long bitnr; in __bm_change_bits_to() local
1354 for (bitnr = s; bitnr <= e; bitnr++) { in __bm_change_bits_to()
1355 unsigned int page_nr = bm_bit_to_page_idx(b, bitnr); in __bm_change_bits_to()
1369 c += (0 == __test_and_set_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr)); in __bm_change_bits_to()
1371 c -= (0 != __test_and_clear_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr)); in __bm_change_bits_to()
1531 int drbd_bm_test_bit(struct drbd_device *device, const unsigned long bitnr) in drbd_bm_test_bit() argument
1546 if (bitnr < b->bm_bits) { in drbd_bm_test_bit()
1547 p_addr = bm_map_pidx(b, bm_bit_to_page_idx(b, bitnr)); in drbd_bm_test_bit()
1548 i = test_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr) ? 1 : 0; in drbd_bm_test_bit()
1550 } else if (bitnr == b->bm_bits) { in drbd_bm_test_bit()
1553 drbd_err(device, "bitnr=%lu > bm_bits=%lu\n", bitnr, b->bm_bits); in drbd_bm_test_bit()
1567 unsigned long bitnr; in drbd_bm_count_bits() local
1583 for (bitnr = s; bitnr <= e; bitnr++) { in drbd_bm_count_bits()
1584 unsigned int idx = bm_bit_to_page_idx(b, bitnr); in drbd_bm_count_bits()
1591 if (expect(bitnr < b->bm_bits)) in drbd_bm_count_bits()
1592 c += (0 != test_bit_le(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr)); in drbd_bm_count_bits()
1594 drbd_err(device, "bitnr=%lu bm_bits=%lu\n", bitnr, b->bm_bits); in drbd_bm_count_bits()