File tree Expand file tree Collapse file tree 1 file changed +4
-13
lines changed Expand file tree Collapse file tree 1 file changed +4
-13
lines changed Original file line number Diff line number Diff line change @@ -1425,25 +1425,16 @@ static bool wait_blocked_rdev(struct mddev *mddev, struct bio *bio)
1425
1425
if (!rdev )
1426
1426
continue ;
1427
1427
1428
- if (test_bit (Blocked , & rdev -> flags )) {
1429
- if (bio -> bi_opf & REQ_NOWAIT )
1430
- return false;
1431
-
1432
- mddev_add_trace_msg (rdev -> mddev , "raid1 wait rdev %d blocked" ,
1433
- rdev -> raid_disk );
1434
- atomic_inc (& rdev -> nr_pending );
1435
- md_wait_for_blocked_rdev (rdev , rdev -> mddev );
1436
- goto retry ;
1437
- }
1438
-
1439
1428
/* don't write here until the bad block is acknowledged */
1440
1429
if (test_bit (WriteErrorSeen , & rdev -> flags ) &&
1441
1430
rdev_has_badblock (rdev , bio -> bi_iter .bi_sector ,
1442
- bio_sectors (bio )) < 0 ) {
1431
+ bio_sectors (bio )) < 0 )
1432
+ set_bit (BlockedBadBlocks , & rdev -> flags );
1433
+
1434
+ if (rdev_blocked (rdev )) {
1443
1435
if (bio -> bi_opf & REQ_NOWAIT )
1444
1436
return false;
1445
1437
1446
- set_bit (BlockedBadBlocks , & rdev -> flags );
1447
1438
mddev_add_trace_msg (rdev -> mddev , "raid1 wait rdev %d blocked" ,
1448
1439
rdev -> raid_disk );
1449
1440
atomic_inc (& rdev -> nr_pending );
You can’t perform that action at this time.
0 commit comments