dm raid1: wake kmirrord when requeueing delayed bios after remote recovery
commitff1a7a3f2bb52774ac94a624475403ee37ca3541
authorMikulas Patocka <mpatocka@redhat.com>
Thu, 23 Jul 2009 19:30:37 +0000 (23 20:30 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 30 Jul 2009 21:39:57 +0000 (30 14:39 -0700)
tree8dc83a4faedb5c9f964ae24134d9e0b428503853
parentd7895f7d3f4abfe44bcbb2dbb3b95cea882e7393
dm raid1: wake kmirrord when requeueing delayed bios after remote recovery

commit 69885683d22d8c05910fd808c01fdce1322739b4 upstream.

The recent commit 7513c2a761d69d2a93f17146b3563527d3618ba0 (dm raid1:
add is_remote_recovering hook for clusters) changed do_writes() to
update the ms->writes list but forgot to wake up kmirrord to process it.

The rule is that when anything is being added on ms->reads, ms->writes
or ms->failures and the list was empty before we must call
wakeup_mirrord (for immediate processing) or delayed_wake (for delayed
processing).  Otherwise the bios could sit on the list indefinitely.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/md/dm-raid1.c