/// <summary> /// Creates a map of local volumes. /// </summary> public static VolumeMap TryCreateMapOfAllLocalVolumes(LoggingContext loggingContext, IReadOnlyList <string> junctionRoots = null) { var volumeMap = VolumeMap.CreateMapOfAllLocalVolumes(loggingContext, junctionRoots); // We want to skip volumes that are not local to VM. volumeMap.SkipTrackingJournalIncapableVolume = HasRelocatedTempInVm; return(volumeMap); }
/// <summary> /// Creates an instance of <see cref="IFileContentTableAccessor"/> based on the current OS. /// </summary> /// <param name="accessor">Output file content table accessor.</param> /// <param name="error">Error message for failed creation.</param> /// <returns>True if successful; otherwise false.</returns> public static bool TryCreate(out IFileContentTableAccessor accessor, out string error) { accessor = null; error = null; if (OperatingSystemHelper.IsUnixOS) { accessor = new FileContentTableAccessorUnix(); return(true); } VolumeMap volumeMap = VolumeMap.CreateMapOfAllLocalVolumes(new LoggingContext(nameof(IFileContentTableAccessor))); if (volumeMap == null) { error = "Failed to create volume map"; return(false); } accessor = new FileContentTableAccessorWin(volumeMap); return(true); }