コード例 #1
0
        public void FsTrim()
        {
            int virtualBlockCount  = Header.MainDataBlockCount;
            int physicalBlockCount = virtualBlockCount + Header.JournalBlockCount;

            int blockMapLength       = virtualBlockCount * MapEntryLength;
            int physicalBitmapLength = Util.AlignUp(physicalBlockCount, 32) / 8;
            int virtualBitmapLength  = Util.AlignUp(virtualBlockCount, 32) / 8;

            MapStorage.Slice(blockMapLength).Fill(SaveDataFileSystem.TrimFillValue);
            FreeBlocks.Slice(physicalBitmapLength).Fill(SaveDataFileSystem.TrimFillValue);
            ModifiedPhysicalBlocks.Slice(physicalBitmapLength).Fill(SaveDataFileSystem.TrimFillValue);
            ModifiedVirtualBlocks.Slice(virtualBitmapLength).Fill(SaveDataFileSystem.TrimFillValue);
        }
コード例 #2
0
 public IStorage GetModifiedVirtualBlocksStorage() => ModifiedVirtualBlocks.AsReadOnly();
コード例 #3
0
ファイル: JournalMap.cs プロジェクト: tiliarou/LibHac
 public IStorage GetModifiedVirtualBlocksStorage() => ModifiedVirtualBlocks.WithAccess(FileAccess.Read);