TrackInfo now contains both logical and physical track/side count.

This commit is contained in:
David Given
2024-01-20 23:03:14 +01:00
parent ed8b036536
commit d1aa84b543
2 changed files with 14 additions and 4 deletions

View File

@@ -206,8 +206,8 @@ std::shared_ptr<const TrackInfo> Layout::getLayoutOfTrack(
layoutdata.MergeFrom(f);
}
trackInfo->numTracks = globalConfig()->layout().tracks();
trackInfo->numSides = globalConfig()->layout().sides();
trackInfo->numLogicalTracks = globalConfig()->layout().tracks();
trackInfo->numLogicalSides = globalConfig()->layout().sides();
trackInfo->sectorSize = layoutdata.sector_size();
trackInfo->logicalTrack = logicalTrack;
trackInfo->logicalSide = logicalSide;
@@ -241,6 +241,11 @@ std::shared_ptr<const TrackInfo> Layout::getLayoutOfTrack(
trackInfo->naturalToFilesystemSectorMap[lid] = fid;
}
trackInfo->numPhysicalTracks =
Layout::remapTrackLogicalToPhysical(trackInfo->numLogicalTracks);
trackInfo->numPhysicalSides =
Layout::remapSideLogicalToPhysical(trackInfo->numLogicalSides);
return trackInfo;
}

View File

@@ -68,8 +68,13 @@ private:
TrackInfo& operator=(const TrackInfo&);
public:
unsigned numTracks = 0;
unsigned numSides = 0;
/* Size of the logical layout. */
unsigned numLogicalTracks = 0;
unsigned numLogicalSides = 0;
/* Size of the physical layout. */
unsigned numPhysicalTracks = 0;
unsigned numPhysicalSides = 0;
/* The number of sectors in this track. */
unsigned numSectors = 0;