From d1aa84b543e394a3971b8a23a5556f956fe9f6d2 Mon Sep 17 00:00:00 2001 From: David Given Date: Sat, 20 Jan 2024 23:03:14 +0100 Subject: [PATCH] TrackInfo now contains both logical and physical track/side count. --- lib/layout.cc | 9 +++++++-- lib/layout.h | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/layout.cc b/lib/layout.cc index b23e1cea..71838a1d 100644 --- a/lib/layout.cc +++ b/lib/layout.cc @@ -206,8 +206,8 @@ std::shared_ptr 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 Layout::getLayoutOfTrack( trackInfo->naturalToFilesystemSectorMap[lid] = fid; } + trackInfo->numPhysicalTracks = + Layout::remapTrackLogicalToPhysical(trackInfo->numLogicalTracks); + trackInfo->numPhysicalSides = + Layout::remapSideLogicalToPhysical(trackInfo->numLogicalSides); + return trackInfo; } diff --git a/lib/layout.h b/lib/layout.h index f886150c..02316008 100644 --- a/lib/layout.h +++ b/lib/layout.h @@ -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;