aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Bader <shbader@de.ibm.com>2006-02-02 14:28:07 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-02 15:07:13 -0800
commit1113a7e92e483074c6235da59460759e33b9b144 (patch)
tree632a2eded0668e9ce925ccae721feaf387364cff
parent35849c75d7750a254119c1a4b88c90156919df2a (diff)
[PATCH] device-mapper log bitset: fix big endian find_next_zero_bit
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@de.ibm.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/md/dm-log.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/dm-log.c b/drivers/md/dm-log.c
index 74039db846b..d73779a4241 100644
--- a/drivers/md/dm-log.c
+++ b/drivers/md/dm-log.c
@@ -545,7 +545,8 @@ static int core_get_resync_work(struct dirty_log *log, region_t *region)
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;