How does DiskSuite resync mirror regions during normal operation?
• A disk write comes in. • Solstice DiskSuite checks for “overlapping” writes, and waits until any overlapping I/O is complete. This ensures that writes don’t get mixed up and cause data on submirrors to differ. • Solstice DiskSuite checks a bitmap of resync regions to see if the associated region or regions are already “dirty.” • If the regions are not “dirty,” Solstice DiskSuite synchronously writes the bitmap to two state database replicas associated with the mirror. Resync region bitmap records are sprinkled among the available replicas in a balanced fashion. • After determining if the region was already dirty or is now dirty, depending on the write policy configured for the mirror, Solstice DiskSuite either starts I/O in parallel or serially to the submirrors. • When all I/O is done, Solstice DiskSuite acknowledges the write. • Meanwhile, independently, a thread wakes up approximately every two minutes to see if any I/O has happened recently to the already “dirty” regions. A regio