md/raid1: Don't release reference to device while handling read error.
authorNeilBrown <neilb@suse.de>
Thu, 11 Oct 2012 02:44:30 +0000 (13:44 +1100)
committerNeilBrown <neilb@suse.de>
Thu, 11 Oct 2012 02:44:30 +0000 (13:44 +1100)
commit7ad4d4a68a1a19f21c7b39cb3f51bf17fba6e3d0
tree9a93ab26f6354988241dc003a9ab16b77a3d75d3
parentfd177481b440c3f7b5ee9b821a76b29fdf2a6712
md/raid1: Don't release reference to device while handling read error.

When we get a read error, we arrange for raid1d to handle it.
Currently we release the reference on the device.  This can result
in
   conf->mirrors[read_disk].rdev
being NULL in fix_read_error, if the device happens to get removed
before the read error is handled.

So instead keep the reference until the read error has been fully
handled.

Reported-by: hank <pyu@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
drivers/md/raid1.c