From: Stefan Bader This is an addition to the endian fixes that introduce ext2_* versions of the set and clear bit functions. The find_next_zero_bit also has to be the ext2 one. Otherwise the mirror target tries to recover non-existent regions beyond the end of device. Signed-Off-By: Stefan Bader Signed-Off-By: Alasdair G Kergon Index: linux-2.6.16-rc1/drivers/md/dm-log.c =================================================================== --- linux-2.6.16-rc1.orig/drivers/md/dm-log.c 2006-01-23 21:22:19.000000000 +0000 +++ linux-2.6.16-rc1/drivers/md/dm-log.c 2006-02-01 20:54:50.000000000 +0000 @@ -545,7 +545,8 @@ static int core_get_resync_work(struct d return 0; do { - *region = find_next_zero_bit((unsigned long *) lc->sync_bits, + *region = ext2_find_next_zero_bit( + (unsigned long *) lc->sync_bits, lc->region_count, lc->sync_search); lc->sync_search = *region + 1;