58d8c17 Bug 291521: Cluster mirror can become out-of-sync if nominal I/O overla...

Authored and Committed by Jonathan Brassow 16 years ago
    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'.