Commit 396258de authored by NeilBrown's avatar NeilBrown Committed by Sasha Levin

md/raid1: intialise start_next_window for READ case to avoid hang

r1_bio->start_next_window is not initialised in the READ
case, so allow_barrier may incorrectly decrement
   conf->current_window_requests
which can cause raise_barrier() to block forever.

Fixes: 79ef3a8a
cc: stable@vger.kernel.org (v3.13+)
Reported-by: default avatarBrassow Jonathan <jbrassow@redhat.com>
Signed-off-by: default avatarNeilBrown <neilb@suse.de>

(cherry picked from commit f0cc9a05)
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent 0d0178c9
......@@ -1103,6 +1103,7 @@ static void make_request(struct mddev *mddev, struct bio * bio)
atomic_read(&bitmap->behind_writes) == 0);
}
r1_bio->read_disk = rdisk;
r1_bio->start_next_window = 0;
read_bio = bio_clone_mddev(bio, GFP_NOIO, mddev);
md_trim_bio(read_bio, r1_bio->sector - bio->bi_sector,
......
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