diff --git a/Directory.Build.props b/Directory.Build.props index 85a5424..786ea39 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -26,7 +26,7 @@ <PropertyGroup> <!-- DOCSYNC: When changing version number update README.md --> - <Version>0.3.11.0</Version> + <Version>0.3.12.0</Version> <AssemblyVersion>0.9.9999.0</AssemblyVersion> <Company>Microsoft</Company> diff --git a/README.md b/README.md index fc445db..48ba29b 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,7 @@ File clones on Windows do not actually allocate space on-drive for the clone. Th [](https://www.nuget.org/packages/CopyOnWrite) +* 0.3.12 October 2024: Add ERROR_DEV_NOT_EXIST handling on getting free disk space * 0.3.11 September 2024: Add ERROR_DEV_NOT_EXIST handling on volume enumeration * 0.3.10 September 2024: Add ERROR_NO_SUCH_DEVICE handling on volume enumeration * 0.3.9 September 2024: Fix https://github.com/microsoft/CopyOnWrite/issues/44 - follow up on ignoring FILE_NOT_FOUND on volume enumeration diff --git a/lib/Windows/VolumeInfoCache.cs b/lib/Windows/VolumeInfoCache.cs index 432b480..c4125c8 100644 --- a/lib/Windows/VolumeInfoCache.cs +++ b/lib/Windows/VolumeInfoCache.cs @@ -152,6 +152,11 @@ public VolumeInfo GetVolumeForPath(string path) if (!result) { int lastErr = Marshal.GetLastWin32Error(); + if (lastErr == NativeMethods.ERROR_DEV_NOT_EXIST) + { + return null; + } + NativeMethods.ThrowSpecificIoException(lastErr, $"Failed retrieving drive volume cluster layout information for {volumePaths.PrimaryDriveRootPath} with winerror {lastErr}"); } @@ -173,4 +178,4 @@ private static int IndexFromDriveLetter(char driveLetter) return index; } -} \ No newline at end of file +}