Hi Jens, After merging the block tree, today's linux-next build (x86_64 allmodconfig) failed like this: drivers/block/drbd/drbd_bitmap.c: In function '__bm_find_next': drivers/block/drbd/drbd_bitmap.c:1187: error: implicit declaration of function 'generic_find_next_zero_le_bit' drivers/block/drbd/drbd_bitmap.c:1190: error: implicit declaration of function 'generic_find_next_le_bit' drivers/block/drbd/drbd_bitmap.c: In function '__bm_change_bits_to': drivers/block/drbd/drbd_bitmap.c:1290: error: implicit declaration of function 'generic___test_and_set_le_bit' drivers/block/drbd/drbd_bitmap.c:1292: error: implicit declaration of function 'generic___test_and_clear_le_bit' drivers/block/drbd/drbd_bitmap.c: In function 'drbd_bm_test_bit': drivers/block/drbd/drbd_bitmap.c:1441: error: implicit declaration of function 'generic_test_le_bit' Caused by commit 95a0f10cddbf ("drbd: store in-core bitmap little endian, regardless of architecture") interacting with commit c4945b9ed472 ("asm-generic: rename generic little-endian bitops functions") from Linus' tree. I applied the following merge fix patch for today: From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Fri, 25 Mar 2011 14:27:57 +1100 Subject: [PATCH] drbd: update for bitop api changes Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> --- drivers/block/drbd/drbd_bitmap.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c index f0ae63d..eb925fa 100644 --- a/drivers/block/drbd/drbd_bitmap.c +++ b/drivers/block/drbd/drbd_bitmap.c @@ -1184,10 +1184,10 @@ static unsigned long __bm_find_next(struct drbd_conf *mdev, unsigned long bm_fo, p_addr = __bm_map_pidx(b, bm_bit_to_page_idx(b, bm_fo), km); if (find_zero_bit) - i = generic_find_next_zero_le_bit(p_addr, + i = find_next_zero_bit_le(p_addr, PAGE_SIZE*8, bm_fo & BITS_PER_PAGE_MASK); else - i = generic_find_next_le_bit(p_addr, + i = find_next_bit_le(p_addr, PAGE_SIZE*8, bm_fo & BITS_PER_PAGE_MASK); __bm_unmap(p_addr, km); @@ -1287,9 +1287,9 @@ static int __bm_change_bits_to(struct drbd_conf *mdev, const unsigned long s, last_page_nr = page_nr; } if (val) - c += (0 == generic___test_and_set_le_bit(bitnr & BITS_PER_PAGE_MASK, p_addr)); + c += (0 == __test_and_set_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr)); else - c -= (0 != generic___test_and_clear_le_bit(bitnr & BITS_PER_PAGE_MASK, p_addr)); + c -= (0 != __test_and_clear_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr)); } if (p_addr) __bm_unmap(p_addr, km); @@ -1438,7 +1438,7 @@ int drbd_bm_test_bit(struct drbd_conf *mdev, const unsigned long bitnr) bm_print_lock_info(mdev); if (bitnr < b->bm_bits) { p_addr = bm_map_pidx(b, bm_bit_to_page_idx(b, bitnr)); - i = generic_test_le_bit(bitnr & BITS_PER_PAGE_MASK, p_addr) ? 1 : 0; + i = test_bit_le(bitnr & BITS_PER_PAGE_MASK, p_addr) ? 1 : 0; bm_unmap(p_addr); } else if (bitnr == b->bm_bits) { i = -1; @@ -1482,7 +1482,7 @@ int drbd_bm_count_bits(struct drbd_conf *mdev, const unsigned long s, const unsi ERR_IF (bitnr >= b->bm_bits) { dev_err(DEV, "bitnr=%lu bm_bits=%lu\n", bitnr, b->bm_bits); } else { - c += (0 != generic_test_le_bit(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr)); + c += (0 != test_bit_le(bitnr - (page_nr << (PAGE_SHIFT+3)), p_addr)); } } if (p_addr) -- 1.7.4.1 -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html