From 067393ca2166fa0f6bc0457f41b3c53ad95e9119 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sun, 28 Apr 2019 14:56:36 +0100 Subject: [PATCH] Optimize reading FAT directories with several thousand files --- DiscImageChef.Filesystems/FAT/File.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/DiscImageChef.Filesystems/FAT/File.cs b/DiscImageChef.Filesystems/FAT/File.cs index f85b44aba..c6b86a634 100644 --- a/DiscImageChef.Filesystems/FAT/File.cs +++ b/DiscImageChef.Filesystems/FAT/File.cs @@ -221,9 +221,12 @@ namespace DiscImageChef.Filesystems.FAT string parentPath = string.Join("/", pieces, 0, pieces.Length - 1); - Errno err = ReadDir(parentPath, out _); + if(!directoryCache.TryGetValue(parentPath, out _)) + { + Errno err = ReadDir(parentPath, out _); - if(err != Errno.NoError) return err; + if(err != Errno.NoError) return err; + } Dictionary parent;