Lines Matching refs:bitnr
304 static unsigned int bm_bit_to_page_idx(struct drbd_bitmap *b, u64 bitnr)
306 /* page_nr = (bitnr/8) >> PAGE_SHIFT; */
307 unsigned int page_nr = bitnr >> (PAGE_SHIFT + 3);
1383 * wants bitnr, not sector.
1391 unsigned long bitnr;
1401 for (bitnr = s; bitnr <= e; bitnr++) {
1402 unsigned int page_nr = bm_bit_to_page_idx(b, bitnr);
1416 c += (0 == __test_and_set_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr));
1418 c -= (0 != __test_and_clear_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr));
1434 * wants bitnr, not sector */
1575 * wants bitnr, NOT sector.
1581 int drbd_bm_test_bit(struct drbd_device *device, const unsigned long bitnr)
1596 if (bitnr < b->bm_bits) {
1597 p_addr = bm_map_pidx(b, bm_bit_to_page_idx(b, bitnr));
1598 i = test_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr) ? 1 : 0;
1600 } else if (bitnr == b->bm_bits) {
1602 } else { /* (bitnr > b->bm_bits) */
1603 drbd_err(device, "bitnr=%lu > bm_bits=%lu\n", bitnr, b->bm_bits);
1617 unsigned long bitnr;
1633 for (bitnr = s; bitnr <= e; bitnr++) {
1634 unsigned int idx = bm_bit_to_page_idx(b, bitnr);
1641 if (expect(device, bitnr < b->bm_bits))
1642 c += (0 != test_bit_le(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr));
1644 drbd_err(device, "bitnr=%lu bm_bits=%lu\n", bitnr, b->bm_bits);