mirror of
https://github.com/aaru-dps/Aaru.git
synced 2025-12-16 19:24:25 +00:00
Print found filesystems on dump log.
This commit is contained in:
@@ -418,8 +418,7 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
(double)blockSize * (double)(blocks + 1) / 1024 / (totalDuration / 1000));
|
(double)blockSize * (double)(blocks + 1) / 1024 / (totalDuration / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach(ulong bad in resume.BadBlocks)
|
foreach(ulong bad in resume.BadBlocks) dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
||||||
dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
|
||||||
outputPlugin.SetDumpHardware(resume.Tries);
|
outputPlugin.SetDumpHardware(resume.Tries);
|
||||||
if(preSidecar != null) outputPlugin.SetCicmMetadata(preSidecar);
|
if(preSidecar != null) outputPlugin.SetCicmMetadata(preSidecar);
|
||||||
dumpLog.WriteLine("Closing output file.");
|
dumpLog.WriteLine("Closing output file.");
|
||||||
@@ -538,6 +537,17 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
dumpLog.WriteLine("Average checksum speed {0:F3} KiB/sec.",
|
dumpLog.WriteLine("Average checksum speed {0:F3} KiB/sec.",
|
||||||
(double)blockSize * (double)(blocks + 1) / 1024 / (totalChkDuration / 1000));
|
(double)blockSize * (double)(blocks + 1) / 1024 / (totalChkDuration / 1000));
|
||||||
|
|
||||||
|
List<(ulong start, string type)> filesystems = new List<(ulong start, string type)>();
|
||||||
|
if(sidecar.BlockMedia[0].FileSystemInformation != null)
|
||||||
|
filesystems.AddRange(from partition in sidecar.BlockMedia[0].FileSystemInformation
|
||||||
|
where partition.FileSystems != null
|
||||||
|
from fileSystem in partition.FileSystems
|
||||||
|
select ((ulong)partition.StartSector, fileSystem.Type));
|
||||||
|
|
||||||
|
if(filesystems.Count > 0)
|
||||||
|
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
|
||||||
|
dumpLog.WriteLine("Found filesystem {0} at sector {1}", filesystem.type, filesystem.start);
|
||||||
|
|
||||||
DicConsole.WriteLine();
|
DicConsole.WriteLine();
|
||||||
string xmlDskTyp, xmlDskSubTyp;
|
string xmlDskTyp, xmlDskSubTyp;
|
||||||
if(dev.IsCompactFlash)
|
if(dev.IsCompactFlash)
|
||||||
|
|||||||
@@ -889,8 +889,7 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
}
|
}
|
||||||
|
|
||||||
resume.BadBlocks.Sort();
|
resume.BadBlocks.Sort();
|
||||||
foreach(ulong bad in resume.BadBlocks)
|
foreach(ulong bad in resume.BadBlocks) dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
||||||
dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
|
||||||
currentTry.Extents = ExtentsConverter.ToMetadata(extents);
|
currentTry.Extents = ExtentsConverter.ToMetadata(extents);
|
||||||
|
|
||||||
outputPlugin.SetDumpHardware(resume.Tries);
|
outputPlugin.SetDumpHardware(resume.Tries);
|
||||||
@@ -926,6 +925,19 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
sidecar = preSidecar;
|
sidecar = preSidecar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<(ulong start, string type)> filesystems = new List<(ulong start, string type)>();
|
||||||
|
if(sidecar.OpticalDisc[0].Track != null)
|
||||||
|
filesystems.AddRange(from xmlTrack in sidecar.OpticalDisc[0].Track
|
||||||
|
where xmlTrack.FileSystemInformation != null
|
||||||
|
from partition in xmlTrack.FileSystemInformation
|
||||||
|
where partition.FileSystems != null
|
||||||
|
from fileSystem in partition.FileSystems
|
||||||
|
select ((ulong)partition.StartSector, fileSystem.Type));
|
||||||
|
|
||||||
|
if(filesystems.Count > 0)
|
||||||
|
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
|
||||||
|
dumpLog.WriteLine("Found filesystem {0} at sector {1}", filesystem.type, filesystem.start);
|
||||||
|
|
||||||
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
||||||
Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp, out string xmlDskSubTyp);
|
Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp, out string xmlDskSubTyp);
|
||||||
sidecar.OpticalDisc[0].DiscType = xmlDskTyp;
|
sidecar.OpticalDisc[0].DiscType = xmlDskTyp;
|
||||||
|
|||||||
@@ -647,8 +647,7 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
}
|
}
|
||||||
|
|
||||||
resume.BadBlocks.Sort();
|
resume.BadBlocks.Sort();
|
||||||
foreach(ulong bad in resume.BadBlocks)
|
foreach(ulong bad in resume.BadBlocks) dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
||||||
dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
|
||||||
currentTry.Extents = ExtentsConverter.ToMetadata(extents);
|
currentTry.Extents = ExtentsConverter.ToMetadata(extents);
|
||||||
|
|
||||||
outputPlugin.SetDumpHardware(resume.Tries);
|
outputPlugin.SetDumpHardware(resume.Tries);
|
||||||
@@ -686,6 +685,18 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
sidecar = preSidecar;
|
sidecar = preSidecar;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<(ulong start, string type)> filesystems = new List<(ulong start, string type)>();
|
||||||
|
if(sidecar.OpticalDisc[0].Track != null)
|
||||||
|
filesystems.AddRange(from xmlTrack in sidecar.OpticalDisc[0].Track
|
||||||
|
where xmlTrack.FileSystemInformation != null
|
||||||
|
from partition in xmlTrack.FileSystemInformation
|
||||||
|
where partition.FileSystems != null
|
||||||
|
from fileSystem in partition.FileSystems
|
||||||
|
select ((ulong)partition.StartSector, fileSystem.Type));
|
||||||
|
|
||||||
|
if(filesystems.Count > 0)
|
||||||
|
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
|
||||||
|
dumpLog.WriteLine("Found filesystem {0} at sector {1}", filesystem.type, filesystem.start);
|
||||||
// TODO: Implement layers
|
// TODO: Implement layers
|
||||||
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
sidecar.OpticalDisc[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
||||||
Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp, out string xmlDskSubTyp);
|
Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp, out string xmlDskSubTyp);
|
||||||
@@ -825,6 +836,16 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<(ulong start, string type)> filesystems = new List<(ulong start, string type)>();
|
||||||
|
if(sidecar.BlockMedia[0].FileSystemInformation != null)
|
||||||
|
filesystems.AddRange(from partition in sidecar.BlockMedia[0].FileSystemInformation
|
||||||
|
where partition.FileSystems != null
|
||||||
|
from fileSystem in partition.FileSystems
|
||||||
|
select ((ulong)partition.StartSector, fileSystem.Type));
|
||||||
|
|
||||||
|
if(filesystems.Count > 0)
|
||||||
|
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
|
||||||
|
dumpLog.WriteLine("Found filesystem {0} at sector {1}", filesystem.type, filesystem.start);
|
||||||
sidecar.BlockMedia[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
sidecar.BlockMedia[0].Dimensions = Dimensions.DimensionsFromMediaType(dskType);
|
||||||
Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp, out string xmlDskSubTyp);
|
Metadata.MediaType.MediaTypeToString(dskType, out string xmlDskTyp, out string xmlDskSubTyp);
|
||||||
sidecar.BlockMedia[0].DiskType = xmlDskTyp;
|
sidecar.BlockMedia[0].DiskType = xmlDskTyp;
|
||||||
|
|||||||
@@ -772,8 +772,7 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
}
|
}
|
||||||
|
|
||||||
resume.BadBlocks.Sort();
|
resume.BadBlocks.Sort();
|
||||||
foreach(ulong bad in resume.BadBlocks)
|
foreach(ulong bad in resume.BadBlocks) dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
||||||
dumpLog.WriteLine("Sector {0} could not be read.", bad);
|
|
||||||
currentTry.Extents = ExtentsConverter.ToMetadata(extents);
|
currentTry.Extents = ExtentsConverter.ToMetadata(extents);
|
||||||
|
|
||||||
outputPlugin.SetDumpHardware(resume.Tries);
|
outputPlugin.SetDumpHardware(resume.Tries);
|
||||||
@@ -812,6 +811,19 @@ namespace DiscImageChef.Core.Devices.Dumping
|
|||||||
foreach(KeyValuePair<MediaTagType, byte[]> tag in mediaTags)
|
foreach(KeyValuePair<MediaTagType, byte[]> tag in mediaTags)
|
||||||
Mmc.AddMediaTagToSidecar(outputPath, tag, ref sidecar);
|
Mmc.AddMediaTagToSidecar(outputPath, tag, ref sidecar);
|
||||||
|
|
||||||
|
List<(ulong start, string type)> filesystems = new List<(ulong start, string type)>();
|
||||||
|
if(sidecar.OpticalDisc[0].Track != null)
|
||||||
|
filesystems.AddRange(from xmlTrack in sidecar.OpticalDisc[0].Track
|
||||||
|
where xmlTrack.FileSystemInformation != null
|
||||||
|
from partition in xmlTrack.FileSystemInformation
|
||||||
|
where partition.FileSystems != null
|
||||||
|
from fileSystem in partition.FileSystems
|
||||||
|
select ((ulong)partition.StartSector, fileSystem.Type));
|
||||||
|
|
||||||
|
if(filesystems.Count > 0)
|
||||||
|
foreach(var filesystem in filesystems.Select(o => new {o.start, o.type}).Distinct())
|
||||||
|
dumpLog.WriteLine("Found filesystem {0} at sector {1}", filesystem.type, filesystem.start);
|
||||||
|
|
||||||
sidecar.OpticalDisc[0].Layers = new LayersType
|
sidecar.OpticalDisc[0].Layers = new LayersType
|
||||||
{
|
{
|
||||||
type = LayersTypeType.OTP,
|
type = LayersTypeType.OTP,
|
||||||
|
|||||||
Reference in New Issue
Block a user