Commit f0cc9a05 authored by NeilBrown's avatar NeilBrown
Browse files

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>
parent d030671f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1186,6 +1186,7 @@ read_again:
				   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);
		bio_trim(read_bio, r1_bio->sector - bio->bi_iter.bi_sector,