@@ -1266,8 +1266,25 @@ public VolumeVO resizeVolume(ResizeVolumeCmd cmd) throws ResourceAllocationExcep
12661266
12671267 validateIops (newMinIops , newMaxIops , volume .getPoolType ());
12681268 } else {
1269+ <<<<<<< HEAD
12691270 newMinIops = newDiskOffering .getMinIops ();
12701271 newMaxIops = newDiskOffering .getMaxIops ();
1272+ =======
1273+ if (newDiskOffering .getMinIops () != null ) {
1274+ newMinIops = newDiskOffering .getMinIops ();
1275+ }
1276+
1277+ if (newDiskOffering .getMaxIops () != null ) {
1278+ newMaxIops = newDiskOffering .getMaxIops ();
1279+ }
1280+
1281+ Long newDiskOfferingIopsReadRate = newDiskOffering .getIopsReadRate ();
1282+ Long newDiskOfferingIopsWriteRate = newDiskOffering .getIopsWriteRate ();
1283+ if (ObjectUtils .allNull (newMinIops , newMaxIops ) && ObjectUtils .allNotNull (newDiskOfferingIopsReadRate , newDiskOfferingIopsWriteRate )) {
1284+ newMaxIops = Math .max (newDiskOfferingIopsReadRate , newDiskOfferingIopsWriteRate );
1285+ newMinIops = Math .min (newDiskOfferingIopsReadRate , newDiskOfferingIopsWriteRate );
1286+ }
1287+ >>>>>>> cb43664102 (Address reviews )
12711288 }
12721289
12731290 // if the hypervisor snapshot reserve value is null, it must remain null (currently only KVM uses null and null is all KVM uses for a value here)
@@ -1335,10 +1352,14 @@ public VolumeVO resizeVolume(ResizeVolumeCmd cmd) throws ResourceAllocationExcep
13351352 volumeMigrateRequired = true ;
13361353 }
13371354
1355+ <<<<<<< HEAD
13381356 boolean volumeResizeRequired = false ;
13391357 if (currentSize != newSize || !compareEqualsIncludingNullOrZero (newMaxIops , volume .getMaxIops ()) || !compareEqualsIncludingNullOrZero (newMinIops , volume .getMinIops ())) {
13401358 volumeResizeRequired = true ;
13411359 }
1360+ =======
1361+ boolean volumeResizeRequired = currentSize != newSize || !compareEqualsIncludingNullOrZero (newMaxIops , volume .getMaxIops ()) || !compareEqualsIncludingNullOrZero (newMinIops , volume .getMinIops ());
1362+ >>>>>>> cb43664102 (Address reviews )
13421363 if (!volumeMigrateRequired && !volumeResizeRequired && newDiskOffering != null ) {
13431364 _volsDao .updateDiskOffering (volume .getId (), newDiskOffering .getId ());
13441365 volume = _volsDao .findById (volume .getId ());
@@ -1403,7 +1424,18 @@ public VolumeVO resizeVolume(ResizeVolumeCmd cmd) throws ResourceAllocationExcep
14031424 } else if (jobResult instanceof Throwable ) {
14041425 throw new RuntimeException ("Unexpected exception" , (Throwable ) jobResult );
14051426 } else if (jobResult instanceof Long ) {
1427+ <<<<<<< HEAD
14061428 return _volsDao .findById ((Long ) jobResult );
1429+ =======
1430+ Long volumeId = (Long ) jobResult ;
1431+ if (newDiskOffering != null ) {
1432+ _volsDao .updateDiskOffering (volumeId , newDiskOffering .getId ());
1433+ }
1434+ volume .setMinIops (newMinIops );
1435+ volume .setMinIops (newMaxIops );
1436+ _volsDao .update (volumeId , volume );
1437+ return _volsDao .findById (volumeId );
1438+ >>>>>>> cb43664102 (Address reviews )
14071439 }
14081440 }
14091441
0 commit comments