|
@@ -1749,8 +1749,6 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i
|
|
|
if (!go_faster && conf->nr_waiting)
|
|
|
msleep_interruptible(1000);
|
|
|
|
|
|
- bitmap_cond_end_sync(mddev->bitmap, sector_nr);
|
|
|
-
|
|
|
/* Again, very different code for resync and recovery.
|
|
|
* Both must result in an r10bio with a list of bios that
|
|
|
* have bi_end_io, bi_sector, bi_bdev set,
|
|
@@ -1886,6 +1884,8 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i
|
|
|
/* resync. Schedule a read for every block at this virt offset */
|
|
|
int count = 0;
|
|
|
|
|
|
+ bitmap_cond_end_sync(mddev->bitmap, sector_nr);
|
|
|
+
|
|
|
if (!bitmap_start_sync(mddev->bitmap, sector_nr,
|
|
|
&sync_blocks, mddev->degraded) &&
|
|
|
!conf->fullsync && !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) {
|