@@ -88,25 +88,33 @@ static void LogData(Storage storage)
8888 lock ( _LogDataLock )
8989 {
9090 Log ( $ "Storage '{ storage . Model } ':") ;
91- Log ( $ " -> { nameof ( storage . Partitions ) } :") ;
9291
93- foreach ( var partition in storage . Partitions )
92+ if ( ! storage . IsDynamicDisk )
9493 {
95- Log ( $ " + { nameof ( Partition ) } # { partition . PartitionNumber } :") ;
94+ Log ( $ " -> { nameof ( storage . Partitions ) } :") ;
9695
97- if ( partition . DriveLetter != null )
96+ foreach ( var partition in storage . Partitions )
9897 {
99- Log ( $ " # { nameof ( partition . DriveLetter ) , Padding } = { partition . DriveLetter } ") ;
100- }
98+ Log ( $ " + { nameof ( Partition ) } #{ partition . PartitionNumber } :") ;
10199
102- if ( partition . AvailableFreeSpace != null )
103- {
104- Log ( $ " # { nameof ( partition . AvailableFreeSpace ) , Padding } = { partition . AvailableFreeSpace } ") ;
105- }
100+ if ( partition . DriveLetter != null )
101+ {
102+ Log ( $ " # { nameof ( partition . DriveLetter ) , Padding } = { partition . DriveLetter } ") ;
103+ }
104+
105+ if ( partition . AvailableFreeSpace != null )
106+ {
107+ Log ( $ " # { nameof ( partition . AvailableFreeSpace ) , Padding } = { partition . AvailableFreeSpace } ") ;
108+ }
106109
107- Log ( $ " # { nameof ( partition . PartitionStyle ) , Padding } = { partition . PartitionStyle } ") ;
108- Log ( $ " # { nameof ( partition . StartingOffset ) , Padding } = { partition . StartingOffset } ") ;
109- Log ( $ " # { nameof ( partition . PartitionLength ) , Padding } = { partition . PartitionLength } ") ;
110+ Log ( $ " # { nameof ( partition . PartitionStyle ) , Padding } = { partition . PartitionStyle } ") ;
111+ Log ( $ " # { nameof ( partition . StartingOffset ) , Padding } = { partition . StartingOffset } ") ;
112+ Log ( $ " # { nameof ( partition . PartitionLength ) , Padding } = { partition . PartitionLength } ") ;
113+ }
114+ }
115+ else
116+ {
117+ Log ( $ " -> { nameof ( storage . Partitions ) } not being logged due to { nameof ( storage . IsDynamicDisk ) } ") ;
110118 }
111119
112120 Log ( ) ;
@@ -144,17 +152,29 @@ static void LogData(Storage storage)
144152 Log ( $ " -> { nameof ( storage . Model ) , Padding } = { storage . Model } ") ;
145153 Log ( $ " -> { nameof ( storage . PhysicalPath ) , Padding } = { storage . PhysicalPath } ") ;
146154
147- if ( storage . ProductID . HasValue )
155+ if ( storage . ProductID != null )
148156 {
149157 Log ( $ " -> { nameof ( storage . ProductID ) , Padding } = { storage . ProductID } ") ;
150158 }
151159
152160 Log ( $ " -> { nameof ( storage . SerialNumber ) , Padding } = { storage . SerialNumber } ") ;
153161 Log ( $ " -> { nameof ( storage . StorageController ) , Padding } = { storage . StorageController } ") ;
154162 Log ( $ " -> { nameof ( storage . StorageControllerType ) , Padding } = { storage . StorageControllerType } ") ;
163+
164+ Log ( $ " -> { nameof ( storage . IsDynamicDisk ) , Padding } = { storage . IsDynamicDisk } ") ;
165+
166+ if ( ! storage . IsDynamicDisk )
167+ {
168+ var totalFreeSize = storage . TotalFreeSize ;
169+
170+ var percentFree = totalFreeSize == 0 ? 0 : 100M * totalFreeSize / storage . TotalSize ;
171+
172+ Log ( $ " -> { nameof ( totalFreeSize ) , Padding } = { totalFreeSize } ({ percentFree : F2} %)") ;
173+ }
174+
155175 Log ( $ " -> { nameof ( storage . TotalSize ) , Padding } = { storage . TotalSize } ") ;
156176
157- if ( storage . VendorID . HasValue )
177+ if ( storage . VendorID != null )
158178 {
159179 Log ( $ " -> { nameof ( storage . VendorID ) , Padding } = { storage . VendorID } ({ storage . VendorID : X4} )") ;
160180 }
@@ -165,41 +185,55 @@ static void LogData(Storage storage)
165185 {
166186 Log ( $ " -> { nameof ( storage . Smart ) } :") ;
167187
188+ Log ( $ " + { nameof ( storage . Smart . DiskStatus ) , Padding } = { storage . Smart . DiskStatus } ") ;
189+
168190 if ( storage . Smart . Temperature != null )
169191 {
170- Log ( $ " + { nameof ( storage . Smart . Temperature ) , Padding } = { storage . Smart . Temperature } °C") ;
192+ Log ( $ " + { nameof ( storage . Smart . Temperature ) , Padding } = { storage . Smart . Temperature } °C") ;
171193 }
172194
173195 if ( storage . Smart . TemperatureWarning != null )
174196 {
175- Log ( $ " + { nameof ( storage . Smart . TemperatureWarning ) , Padding } = { storage . Smart . TemperatureWarning } °C") ;
197+ Log ( $ " + { nameof ( storage . Smart . TemperatureWarning ) , Padding } = { storage . Smart . TemperatureWarning } °C") ;
176198 }
177199
178200 if ( storage . Smart . TemperatureCritical != null )
179201 {
180- Log ( $ " + { nameof ( storage . Smart . TemperatureCritical ) , Padding } = { storage . Smart . TemperatureCritical } °C") ;
202+ Log ( $ " + { nameof ( storage . Smart . TemperatureCritical ) , Padding } = { storage . Smart . TemperatureCritical } °C") ;
203+ }
204+
205+ if ( storage . Smart . Life != null )
206+ {
207+ Log ( $ " + { nameof ( storage . Smart . Life ) , Padding } = { storage . Smart . Life } %") ;
208+ }
209+
210+ if ( storage . Smart . HostReads != null )
211+ {
212+ Log ( $ " + { nameof ( storage . Smart . HostReads ) , Padding } = { storage . Smart . HostReads } ") ;
213+ }
214+
215+ if ( storage . Smart . HostWrites != null )
216+ {
217+ Log ( $ " + { nameof ( storage . Smart . HostWrites ) , Padding } = { storage . Smart . HostWrites } ") ;
181218 }
182219
183- Log ( $ " + { nameof ( storage . Smart . Life ) , Padding } = { storage . Smart . Life } %") ;
184- Log ( $ " + { nameof ( storage . Smart . HostReads ) , Padding } = { storage . Smart . HostReads } ") ;
185- Log ( $ " + { nameof ( storage . Smart . HostWrites ) , Padding } = { storage . Smart . HostWrites } ") ;
186220 Log ( $ " + { nameof ( storage . Smart . PowerOnCount ) , Padding } = { storage . Smart . PowerOnCount } ") ;
187221 Log ( $ " + { nameof ( storage . Smart . MeasuredPowerOnHours ) , Padding } = { storage . Smart . MeasuredPowerOnHours } h") ;
188222 Log ( $ " + { nameof ( storage . Smart . DetectedPowerOnHours ) , Padding } = { storage . Smart . DetectedPowerOnHours } h") ;
189223
190- if ( storage . Smart . NandWrites . HasValue )
224+ if ( storage . Smart . NandWrites != null )
191225 {
192- Log ( $ " + { nameof ( storage . Smart . NandWrites ) , Padding } = { storage . Smart . NandWrites } ") ;
226+ Log ( $ " + { nameof ( storage . Smart . NandWrites ) , Padding } = { storage . Smart . NandWrites } ") ;
193227 }
194228
195- if ( storage . Smart . GBytesErased . HasValue )
229+ if ( storage . Smart . GBytesErased != null )
196230 {
197- Log ( $ " + { nameof ( storage . Smart . GBytesErased ) , Padding } = { storage . Smart . GBytesErased } ") ;
231+ Log ( $ " + { nameof ( storage . Smart . GBytesErased ) , Padding } = { storage . Smart . GBytesErased } ") ;
198232 }
199233
200- if ( storage . Smart . WearLevelingCount . HasValue )
234+ if ( storage . Smart . WearLevelingCount != null )
201235 {
202- Log ( $ " + { nameof ( storage . Smart . WearLevelingCount ) , Padding } = { storage . Smart . WearLevelingCount } ") ;
236+ Log ( $ " + { nameof ( storage . Smart . WearLevelingCount ) , Padding } = { storage . Smart . WearLevelingCount } ") ;
203237 }
204238
205239 Log ( ) ;
0 commit comments