Commit 35632d92 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'block-5.16-2022-01-07' of git://git.kernel.dk/linux-block

Pull block fix from Jens Axboe:
 "Just the md bitmap regression this time"

* tag 'block-5.16-2022-01-07' of git://git.kernel.dk/linux-block:
  md/raid1: fix missing bitmap update w/o WriteMostly devices
parents 494603e0 26bc4f01
...@@ -1496,12 +1496,13 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio, ...@@ -1496,12 +1496,13 @@ static void raid1_write_request(struct mddev *mddev, struct bio *bio,
if (!r1_bio->bios[i]) if (!r1_bio->bios[i])
continue; continue;
if (first_clone && test_bit(WriteMostly, &rdev->flags)) { if (first_clone) {
/* do behind I/O ? /* do behind I/O ?
* Not if there are too many, or cannot * Not if there are too many, or cannot
* allocate memory, or a reader on WriteMostly * allocate memory, or a reader on WriteMostly
* is waiting for behind writes to flush */ * is waiting for behind writes to flush */
if (bitmap && if (bitmap &&
test_bit(WriteMostly, &rdev->flags) &&
(atomic_read(&bitmap->behind_writes) (atomic_read(&bitmap->behind_writes)
< mddev->bitmap_info.max_write_behind) && < mddev->bitmap_info.max_write_behind) &&
!waitqueue_active(&bitmap->behind_wait)) { !waitqueue_active(&bitmap->behind_wait)) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment