Hello Shmuel Melamud,
I'd like you to do a code review. Please visit
https://gerrit.ovirt.org/42020
to review the following change.
Change subject: core: Additional null checks in VmDeviceUtils
......................................................................
core: Additional null checks in VmDeviceUtils
Added null checks that were missing after refactoring VmDeviceUtils.
* In updateBootOrder() vm may be null if the method is called with ID of
a template.
* In getVmDevicesForNextRun() return value of
findVmDeviceBy[General]Type() may be null.
Change-Id: Ibd3574905fa4dd58e31cd914f4124e7a435c9ee9
Signed-off-by: Shmuel Melamud <[email protected]>
---
M
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
1 file changed, 19 insertions(+), 17 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/20/42020/1
diff --git
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
index d7145d8..887a4f1 100644
---
a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
+++
b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/utils/VmDeviceUtils.java
@@ -1153,18 +1153,20 @@
* @param vmId
*/
public static void updateBootOrder(Guid vmId) {
- // Returns the devices sorted in ascending order
- List<VmDevice> devices = dao.getVmDeviceByVmId(vmId);
- // Reset current boot order
- for (VmDevice device: devices) {
- device.setBootOrder(0);
- }
VM vm = dbFacade.getVmDao().get(vmId);
- VmHandler.updateDisksForVm(vm,
dbFacade.getDiskDao().getAllForVm(vmId));
- VmHandler.updateNetworkInterfacesFromDb(vm);
- boolean isOldCluster =
VmDeviceCommonUtils.isOldClusterVersion(vm.getVdsGroupCompatibilityVersion());
- VmDeviceCommonUtils.updateVmDevicesBootOrder(vm, devices,
isOldCluster);
- dao.updateBootOrderInBatch(devices);
+ if (vm != null) {
+ // Returns the devices sorted in ascending order
+ List<VmDevice> devices = dao.getVmDeviceByVmId(vmId);
+ // Reset current boot order
+ for (VmDevice device: devices) {
+ device.setBootOrder(0);
+ }
+ VmHandler.updateDisksForVm(vm,
dbFacade.getDiskDao().getAllForVm(vmId));
+ VmHandler.updateNetworkInterfacesFromDb(vm);
+ boolean isOldCluster =
VmDeviceCommonUtils.isOldClusterVersion(vm.getVdsGroupCompatibilityVersion());
+ VmDeviceCommonUtils.updateVmDevicesBootOrder(vm, devices,
isOldCluster);
+ dao.updateBootOrderInBatch(devices);
+ }
}
/*
@@ -1852,14 +1854,14 @@
vmManagedDeviceMap.put(device.getDeviceId(), device);
} else {
+ VmDevice device;
if (update.getType() != VmDeviceType.UNKNOWN) {
- vmManagedDeviceMap.remove(
- VmDeviceCommonUtils.findVmDeviceByType(
- vmManagedDeviceMap,
update.getType()).getDeviceId());
+ device =
VmDeviceCommonUtils.findVmDeviceByType(vmManagedDeviceMap, update.getType());
} else {
- vmManagedDeviceMap.remove(
- VmDeviceCommonUtils.findVmDeviceByGeneralType(
- vmManagedDeviceMap,
update.getGeneralType()).getDeviceId());
+ device =
VmDeviceCommonUtils.findVmDeviceByGeneralType(vmManagedDeviceMap,
update.getGeneralType());
+ }
+ if (device != null) {
+ vmManagedDeviceMap.remove(device.getDeviceId());
}
}
}
--
To view, visit https://gerrit.ovirt.org/42020
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibd3574905fa4dd58e31cd914f4124e7a435c9ee9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Shmuel Leib Melamud <[email protected]>
Gerrit-Reviewer: Shmuel Melamud <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches