device-mapper log bitset: fix big endian find_next_zero_bit

From: Alasdair G Kergon
Date: Wed Feb 01 2006 - 16:03:21 EST


From: Stefan Bader <shbader@xxxxxxxxxx>

This is a fix to the device-mapper-log-bitset-fix-endian patch that
switched to ext2_* versions of the set and clear bit functions.
The find_next_zero_bit function 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 <shbader@xxxxxxxxxx>
Signed-Off-By: Alasdair G Kergon <agk@xxxxxxxxxx>

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;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/