Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7d49ffcf authored by Goldwyn Rodrigues's avatar Goldwyn Rodrigues
Browse files

Read from the first device when an area is resyncing



set choose_first true for cluster read in read balance when the area
is resyncing.

Signed-off-by: default avatarLidong Zhong <lzhong@suse.com>
Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
parent 589a1c49
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -539,7 +539,13 @@ static int read_balance(struct r1conf *conf, struct r1bio *r1_bio, int *max_sect
	has_nonrot_disk = 0;
	choose_next_idle = 0;

	choose_first = (conf->mddev->recovery_cp < this_sector + sectors);
	if ((conf->mddev->recovery_cp < this_sector + sectors) ||
	    (mddev_is_clustered(conf->mddev) &&
	    md_cluster_ops->area_resyncing(conf->mddev, this_sector,
		    this_sector + sectors)))
		choose_first = 1;
	else
		choose_first = 0;

	for (disk = 0 ; disk < conf->raid_disks * 2 ; disk++) {
		sector_t dist;