Thread (5 messages) 5 messages, 2 authors, 2017-05-12

Re: [PATCH v2] raid1: prefer disk without bad blocks

From: Tomasz Majchrzak <hidden>
Date: 2017-05-12 12:23:58

On Wed, May 10, 2017 at 12:57:01PM -0700, Shaohua Li wrote:
quoted
---
 drivers/md/raid1.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

v2:
  updated the title not to include internal defect number :)
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c
index a1f3fbe..e7ab3bb 100644
--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -628,8 +628,11 @@ static int read_balance(struct r1conf *conf, struct r1bio *r1_bio, int *max_sect
 					break;
 			}
 			continue;
-		} else
+		} else {
+			if ((sectors > best_good_sectors) && (best_disk >= 0))
+				best_disk = disk;
best_disk = -1 seems better here to me. If this is the only disk, we will
choose in below 'if (best_disk == -1)' check. If there are more disks which
cover the whole range, we will choose the best disk with minimum seek/pending.
Agreed, it's a neater way to fix it. I'll send the patch.

Tomek
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help