Fix read-balancing during node failure
authorGoldwyn Rodrigues <rgoldwyn@suse.com>
Wed, 24 Jun 2015 14:30:32 +0000 (09:30 -0500)
committerNeilBrown <neilb@suse.com>
Fri, 24 Jul 2015 03:37:59 +0000 (13:37 +1000)
commit90382ed9afeafd42ef193f0eadc6b2a252d6c24d
tree3469e56a27837bfe7a01a399baccc90579e46ef6
parent33e38ac6887d975fe2635c7fcaefb6d5495cb2e1
Fix read-balancing during node failure

During a node failure, We need to suspend read balancing so that the
reads are directed to the first device and stale data is not read.
Suspending writes is not required because these would be recorded and
synced eventually.

A new flag MD_CLUSTER_SUSPEND_READ_BALANCING is set in recover_prep().
area_resyncing() will respond true for the entire devices if this
flag is set and the request type is READ. The flag is cleared
in recover_done().

Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com>
Reported-By: David Teigland <teigland@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.com>
drivers/md/md-cluster.c
drivers/md/md-cluster.h
drivers/md/raid1.c