Esempio n. 1
0
        private HierarchicalIntegrityVerificationStorage InitJournalIvfcStorage(IntegrityCheckLevel integrityCheckLevel)
        {
            const int  ivfcLevels = 5;
            IvfcHeader ivfc       = Header.Ivfc;
            var        levels     = new List <IStorage> {
                Header.DataIvfcMaster
            };

            for (int i = 0; i < ivfcLevels - 2; i++)
            {
                IvfcLevelHeader level = ivfc.LevelHeaders[i];
                levels.Add(MetaRemapStorage.Slice(level.Offset, level.Size));
            }

            IvfcLevelHeader dataLevel = ivfc.LevelHeaders[ivfcLevels - 2];

            levels.Add(JournalStorage.Slice(dataLevel.Offset, dataLevel.Size));

            return(new HierarchicalIntegrityVerificationStorage(ivfc, levels, IntegrityStorageType.Save, integrityCheckLevel, LeaveOpen));
        }