Example #1
0
        public override void VerifyDatabaseConsistency()
        {
            base.VerifyDatabaseConsistency();

            // Make sure database is identical across disks
            for (int index = 1; index < m_disks.Count; index++)
            {
                VolumeManagerDatabase seconary = VolumeManagerDatabase.ReadFromDisk(m_disks[index]);
                seconary.VerifyDatabaseConsistency();

                if (this.DatabaseHeader.DiskGroupGuidString != seconary.DatabaseHeader.DiskGroupGuidString ||
                    this.DatabaseHeader.DiskGroupName != seconary.DatabaseHeader.DiskGroupName)
                {
                    throw new NotImplementedException("More than one disk group detected");
                }

                if (this.DatabaseHeader.CommitTransactionID != seconary.DatabaseHeader.CommitTransactionID)
                {
                    throw new NotImplementedException("Inconsistent disk group state");
                }
            }
        }