Use PVD's blocks and blocksize in ISO9660.

This commit is contained in:
2017-10-08 21:54:56 +01:00
parent 830f78120d
commit 114c7454ce
2 changed files with 11 additions and 2 deletions

View File

@@ -278,6 +278,7 @@ namespace DiscImageChef.Filesystems.ISO9660
ISOMetadata.AppendFormat("Volume effective date: {0}", decodedVD.EffectiveTime).AppendLine(); ISOMetadata.AppendFormat("Volume effective date: {0}", decodedVD.EffectiveTime).AppendLine();
else else
ISOMetadata.AppendFormat("Volume has always been effective.").AppendLine(); ISOMetadata.AppendFormat("Volume has always been effective.").AppendLine();
ISOMetadata.AppendFormat("Volume has {0} blocks of {1} bytes each", decodedVD.Blocks, decodedVD.BlockSize).AppendLine();
if(jolietvd != null) if(jolietvd != null)
{ {
@@ -382,8 +383,8 @@ namespace DiscImageChef.Filesystems.ISO9660
} }
xmlFSType.Bootable |= bvd != null || SegaCD != null || Saturn != null || Dreamcast != null; xmlFSType.Bootable |= bvd != null || SegaCD != null || Saturn != null || Dreamcast != null;
xmlFSType.Clusters = (long)(partition.End - partition.Start + 1); xmlFSType.Clusters = decodedVD.Blocks;
xmlFSType.ClusterSize = 2048; xmlFSType.ClusterSize = decodedVD.BlockSize;
information = ISOMetadata.ToString(); information = ISOMetadata.ToString();
} }

View File

@@ -201,6 +201,8 @@ namespace DiscImageChef.Filesystems.ISO9660
public DateTime ExpirationTime; public DateTime ExpirationTime;
public bool HasEffectiveTime; public bool HasEffectiveTime;
public DateTime EffectiveTime; public DateTime EffectiveTime;
public ushort BlockSize;
public uint Blocks;
} }
static DecodedVolumeDescriptor DecodeJolietDescriptor(PrimaryVolumeDescriptor jolietvd) static DecodedVolumeDescriptor DecodeJolietDescriptor(PrimaryVolumeDescriptor jolietvd)
@@ -248,6 +250,9 @@ namespace DiscImageChef.Filesystems.ISO9660
decodedVD.EffectiveTime = DateHandlers.ISO9660ToDateTime(jolietvd.effective_date); decodedVD.EffectiveTime = DateHandlers.ISO9660ToDateTime(jolietvd.effective_date);
} }
decodedVD.Blocks = jolietvd.volume_space_size;
decodedVD.BlockSize = jolietvd.logical_block_size;
return decodedVD; return decodedVD;
} }
@@ -296,6 +301,9 @@ namespace DiscImageChef.Filesystems.ISO9660
decodedVD.EffectiveTime = DateHandlers.ISO9660ToDateTime(pvd.effective_date); decodedVD.EffectiveTime = DateHandlers.ISO9660ToDateTime(pvd.effective_date);
} }
decodedVD.Blocks = pvd.volume_space_size;
decodedVD.BlockSize = pvd.logical_block_size;
return decodedVD; return decodedVD;
} }
} }