|
@@ -718,6 +718,7 @@ static void super_written(struct bio *bio)
|
|
|
|
|
|
if (atomic_dec_and_test(&mddev->pending_writes))
|
|
|
wake_up(&mddev->sb_wait);
|
|
|
+ rdev_dec_pending(rdev, mddev);
|
|
|
bio_put(bio);
|
|
|
}
|
|
|
|
|
@@ -732,6 +733,8 @@ void md_super_write(struct mddev *mddev, struct md_rdev *rdev,
|
|
|
*/
|
|
|
struct bio *bio = bio_alloc_mddev(GFP_NOIO, 1, mddev);
|
|
|
|
|
|
+ atomic_inc(&rdev->nr_pending);
|
|
|
+
|
|
|
bio->bi_bdev = rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev;
|
|
|
bio->bi_iter.bi_sector = sector;
|
|
|
bio_add_page(bio, page, size, 0);
|