diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-01-03 21:21:11 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-01-03 21:21:11 -0700 |
commit | 26bc4f019c105234639068703186c01efcabe91e (patch) | |
tree | 580aee6ca623346239428577ed4ea7ff9785852d | |
parent | 87959fa16cfbcf76245c11559db1940069621274 (diff) | |
parent | 46669e8616c649c71c4cfcd712fd3d107e771380 (diff) | |
download | linux-26bc4f019c105234639068703186c01efcabe91e.tar.gz |
Merge branch 'md-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into block-5.16
Pull MD fix from Song, fixing a raid1 regression with missing bitmap
updates.
* 'md-fixes' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md:
md/raid1: fix missing bitmap update w/o WriteMostly devices
-rw-r--r-- | drivers/md/raid1.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 7dc8026cf6ee..85505424f7a4 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1496,12 +1496,13 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio, if (!r1_bio->bios[i]) continue; - if (first_clone && test_bit(WriteMostly, &rdev->flags)) { + if (first_clone) { /* do behind I/O ? * Not if there are too many, or cannot * allocate memory, or a reader on WriteMostly * is waiting for behind writes to flush */ if (bitmap && + test_bit(WriteMostly, &rdev->flags) && (atomic_read(&bitmap->behind_writes) < mddev->bitmap_info.max_write_behind) && !waitqueue_active(&bitmap->behind_wait)) { |