OSDN Git Service

raid5: remove the meaningless check in raid5_make_request
authorGuoqing Jiang <guoqing.jiang@cloud.ionos.com>
Tue, 16 Jun 2020 09:25:52 +0000 (11:25 +0200)
committerSong Liu <songliubraving@fb.com>
Thu, 16 Jul 2020 17:14:08 +0000 (10:14 -0700)
We can't guarntee the batched stripe to be set with STRIPE_HANDLE since
there are lots of functions could set the flag, such as sync_request,
ops_complete_* and end_{read,write}_request etc.

Also clear_batch_ready called in handle_stripe ensures the batched list
can't continue to be handled by handle_stripe.

Signed-off-by: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
drivers/md/raid5.c

index 3519560..73128f4 100644 (file)
@@ -5738,8 +5738,7 @@ static bool raid5_make_request(struct mddev *mddev, struct bio * bi)
                                do_flush = false;
                        }
 
-                       if (!sh->batch_head || sh == sh->batch_head)
-                               set_bit(STRIPE_HANDLE, &sh->state);
+                       set_bit(STRIPE_HANDLE, &sh->state);
                        clear_bit(STRIPE_DELAYED, &sh->state);
                        if ((!sh->batch_head || sh == sh->batch_head) &&
                            (bi->bi_opf & REQ_SYNC) &&