Bug 291521: Cluster mirror can become out-of-sync if nominal I/O overla...
It is insufficient to simply delay flush requests that have marks
pending to a recovering region. Although a collision between nominal
I/O and resync I/O can be avoided this way, the state of the region
changes from RH_NOSYNC to RH_CLEAN in the mean time. The machine
being delayed will think the region is still in the RH_NOSYNC state
and only write to the primary device... leaving the other mirror
devices out-of-sync.
We must delay writes to remotely recovering regions before the state
of the region is determined and cached in the region caching code...
The entry point for this already exists in 'is_remote_recovering'.