From 1e7813382c9ea3d63315d30da15ff2f711d5f6d3 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Sun, 27 Aug 2006 01:23:50 -0700 Subject: [PATCH] --- yaml --- r: 33645 b: refs/heads/master c: 6394cca54894f6a9bcf927ab78d28985944298ff h: refs/heads/master i: 33643: 670a56638cbf7bbe59cf9e4c37d8476ff5418110 v: v3 --- [refs] | 2 +- trunk/drivers/md/raid1.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 388300a3e007..eb366d87aa13 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 84692195969b83f0ba57dc33ecf73e6c124dd186 +refs/heads/master: 6394cca54894f6a9bcf927ab78d28985944298ff diff --git a/trunk/drivers/md/raid1.c b/trunk/drivers/md/raid1.c index 1efe22a2d041..87bfe9e7d8ca 100644 --- a/trunk/drivers/md/raid1.c +++ b/trunk/drivers/md/raid1.c @@ -1625,15 +1625,16 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i return 0; } - /* before building a request, check if we can skip these blocks.. - * This call the bitmap_start_sync doesn't actually record anything - */ if (mddev->bitmap == NULL && mddev->recovery_cp == MaxSector && + !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery) && conf->fullsync == 0) { *skipped = 1; return max_sector - sector_nr; } + /* before building a request, check if we can skip these blocks.. + * This call the bitmap_start_sync doesn't actually record anything + */ if (!bitmap_start_sync(mddev->bitmap, sector_nr, &sync_blocks, 1) && !conf->fullsync && !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) { /* We can skip this block, and probably several more */