diff --git a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
index 4551fe29a..6112862af 100644
--- a/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
+++ b/MediaBrowser.Server.Implementations/Library/CoreResolutionIgnoreRule.cs
@@ -1,6 +1,7 @@
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Resolvers;
+using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.IO;
@@ -13,6 +14,8 @@ namespace MediaBrowser.Server.Implementations.Library
///
public class CoreResolutionIgnoreRule : IResolverIgnoreRule
{
+ private readonly ILogger _logger;
+
///
/// Any folder named in this list will be ignored - can be added to at runtime for extensibility
///
@@ -27,6 +30,11 @@ namespace MediaBrowser.Server.Implementations.Library
"extrafanart"
};
+ public CoreResolutionIgnoreRule(ILogger logger)
+ {
+ _logger = logger;
+ }
+
///
/// Shoulds the ignore.
///
@@ -51,6 +59,8 @@ namespace MediaBrowser.Server.Implementations.Library
{
return false;
}
+
+ _logger.Error("Operating system reports drive is not ready: {0}", args.Path);
}
return true;
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index ae0607689..c82ebad51 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -405,6 +405,7 @@ namespace MediaBrowser.Server.Implementations.Library
if (!fileInfo.Exists)
{
+ _logger.Error("Path in library does not exist or is unavailable: " + path);
return null;
}
@@ -437,8 +438,10 @@ namespace MediaBrowser.Server.Implementations.Library
{
var paths = args.FileSystemDictionary.Keys.ToList();
- foreach (var subPath in paths.Where(subPath => paths.Any(i => subPath.StartsWith(i.TrimEnd(System.IO.Path.DirectorySeparatorChar) + System.IO.Path.DirectorySeparatorChar, StringComparison.OrdinalIgnoreCase))))
+ foreach (var subPath in paths
+ .Where(subPath => !subPath.EndsWith(":\\", StringComparison.OrdinalIgnoreCase) && paths.Any(i => subPath.StartsWith(i.TrimEnd(Path.DirectorySeparatorChar) + Path.DirectorySeparatorChar, StringComparison.OrdinalIgnoreCase))))
{
+ _logger.Info("Ignoring duplicate path: {0}", subPath);
args.FileSystemDictionary.Remove(subPath);
}
}