From 09e7f04794e670566641ee55e85db794655edc30 Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Thu, 28 Dec 2017 15:05:11 +0100 Subject: [PATCH] dont use set_memory_limits if VM is running --- src/xapi/mixins/vm.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/xapi/mixins/vm.js b/src/xapi/mixins/vm.js index c79dea016..453702b5b 100644 --- a/src/xapi/mixins/vm.js +++ b/src/xapi/mixins/vm.js @@ -322,18 +322,30 @@ export default { get: vm => +vm.memory_dynamic_max, preprocess: parseSize, set (dynamicMax, vm) { + const { $ref } = vm + const dynamicMin = Math.min(vm.memory_dynamic_min, dynamicMax) + + if (isVmRunning(vm)) { + return this.call( + 'VM.set_memory_dynamic_range', + $ref, + dynamicMin, + dynamicMax + ) + } + const staticMin = Math.min(vm.memory_static_min, dynamicMax) return this.call( 'VM.set_memory_limits', - vm.$ref, + $ref, staticMin, Math.max(dynamicMax, vm.memory_static_max), - Math.min(vm.memory_dynamic_min, dynamicMax), + dynamicMin, dynamicMax )::pCatch({ code: 'MEMORY_CONSTRAINT_VIOLATION' }, () => this.call( 'VM.set_memory_limits', - vm.$ref, + $ref, staticMin, dynamicMax, dynamicMax,