[PATCH] md: fix recent breakage of md/raid1 array checking
A recent patch broke the ability to do a user-request check of a raid1. This patch fixes the breakage and also moves a comment that was dislocated by the same patch. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
Родитель
8469219596
Коммит
6394cca548
|
@ -1625,15 +1625,16 @@ static sector_t sync_request(mddev_t *mddev, sector_t sector_nr, int *skipped, i
|
||||||
return 0;
|
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 &&
|
if (mddev->bitmap == NULL &&
|
||||||
mddev->recovery_cp == MaxSector &&
|
mddev->recovery_cp == MaxSector &&
|
||||||
|
!test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery) &&
|
||||||
conf->fullsync == 0) {
|
conf->fullsync == 0) {
|
||||||
*skipped = 1;
|
*skipped = 1;
|
||||||
return max_sector - sector_nr;
|
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) &&
|
if (!bitmap_start_sync(mddev->bitmap, sector_nr, &sync_blocks, 1) &&
|
||||||
!conf->fullsync && !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) {
|
!conf->fullsync && !test_bit(MD_RECOVERY_REQUESTED, &mddev->recovery)) {
|
||||||
/* We can skip this block, and probably several more */
|
/* We can skip this block, and probably several more */
|
||||||
|
|
Загрузка…
Ссылка в новой задаче