md/raid6: use valid sector values to determine if an I/O should wait on the reshape
[platform/kernel/linux-starfive.git] / drivers / md / raid5.c
index 98d4e93..e4564ca 100644 (file)
@@ -5905,11 +5905,11 @@ static bool stripe_ahead_of_reshape(struct mddev *mddev, struct r5conf *conf,
        int dd_idx;
 
        for (dd_idx = 0; dd_idx < sh->disks; dd_idx++) {
-               if (dd_idx == sh->pd_idx)
+               if (dd_idx == sh->pd_idx || dd_idx == sh->qd_idx)
                        continue;
 
                min_sector = min(min_sector, sh->dev[dd_idx].sector);
-               max_sector = min(max_sector, sh->dev[dd_idx].sector);
+               max_sector = max(max_sector, sh->dev[dd_idx].sector);
        }
 
        spin_lock_irq(&conf->device_lock);