From f07bb3b52fce52c99ebff385351e9abc078994a1 Mon Sep 17 00:00:00 2001 From: Adam Sitnik Date: Tue, 10 Aug 2021 17:15:21 +0200 Subject: [PATCH 1/3] return the value from 2nd try --- .../src/Internal/FileSystemInfoHelper.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs index ddd21332c73257..cd620d2dbf6c45 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs +++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs @@ -65,7 +65,7 @@ public static bool IsExcluded(FileSystemInfo fileSystemInfo, ExclusionFilters fi // Try one more time, if it fails again just give up. if (!isSecondTry) { - GetFileLinkTargetLastWriteTimeUtc(fileInfo, isSecondTry: true); + return GetFileLinkTargetLastWriteTimeUtc(fileInfo, isSecondTry: true); } } From cd370c853518a133a7687c94163b4348ac61b0ff Mon Sep 17 00:00:00 2001 From: David Cantu Date: Tue, 10 Aug 2021 10:09:17 -0700 Subject: [PATCH 2/3] Do not attempt a second try and just capture the FileNotFoundException --- .../src/Internal/FileSystemInfoHelper.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs index cd620d2dbf6c45..f4e63be1b8763a 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs +++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs @@ -45,7 +45,7 @@ public static bool IsExcluded(FileSystemInfo fileSystemInfo, ExclusionFilters fi // If file is a link, and link target does not exists, return DateTime.MinValue // since the link's LastWriteTimeUtc doesn't convey anything for this scenario. // If file is not a link, return null to inform the caller that file is not a link. - public static DateTime? GetFileLinkTargetLastWriteTimeUtc(FileInfo fileInfo, bool isSecondTry = false) + public static DateTime? GetFileLinkTargetLastWriteTimeUtc(FileInfo fileInfo) { #if NETCOREAPP Debug.Assert(fileInfo.Exists); @@ -63,10 +63,6 @@ public static bool IsExcluded(FileSystemInfo fileSystemInfo, ExclusionFilters fi { // The file ceased to exist between LinkTarget and ResolveLinkTarget. // Try one more time, if it fails again just give up. - if (!isSecondTry) - { - return GetFileLinkTargetLastWriteTimeUtc(fileInfo, isSecondTry: true); - } } return DateTime.MinValue; From 9827528079e1212f7e1c58ede6359df9d5fc14c5 Mon Sep 17 00:00:00 2001 From: Dan Moseley Date: Tue, 10 Aug 2021 11:11:54 -0600 Subject: [PATCH 3/3] Update src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs --- .../src/Internal/FileSystemInfoHelper.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs index f4e63be1b8763a..4d8a6fd2e709bc 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs +++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs @@ -62,7 +62,6 @@ public static bool IsExcluded(FileSystemInfo fileSystemInfo, ExclusionFilters fi catch (FileNotFoundException) { // The file ceased to exist between LinkTarget and ResolveLinkTarget. - // Try one more time, if it fails again just give up. } return DateTime.MinValue;