On 08/31/2016 08:56 AM, Bob Liu wrote:
On 08/30/2016 11:20 PM, Joao Martins wrote:
> Hey!
>
> On 08/30/2016 11:00 AM, Bob Liu wrote:
>> Support for VIR_DOMAIN_DEVICE_MEMORY on domainAttachDeviceFlags API in libxl
>> driver, using libxl_set_memory_target in xen libxl.
>>
>> With "virsh attach-device" command we can then hotplug memory to a
domain:
>> <memory model='dimm'>
>> <target>
>> <size unit='MiB'>128</size>
>> <node>0</node>
>> </target>
>> </memory>
>>
>> $ virsh attach-device domain_name this.xml --live
>>
>> Signed-off-by: Bob Liu <bob.liu(a)oracle.com>
> See few very minor comments below, but overall LGTM.
>
>> ---
>> src/libxl/libxl_domain.c | 1 +
>> src/libxl/libxl_driver.c | 29 +++++++++++++++++++++++++++++
>> 2 files changed, 30 insertions(+)
>>
>> diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
>> index f529a2e..3924ba0 100644
>> --- a/src/libxl/libxl_domain.c
>> +++ b/src/libxl/libxl_domain.c
>> @@ -414,6 +414,7 @@ virDomainDefParserConfig libxlDomainDefParserConfig = {
>> .macPrefix = { 0x00, 0x16, 0x3e },
>> .devicesPostParseCallback = libxlDomainDeviceDefPostParse,
>> .domainPostParseCallback = libxlDomainDefPostParse,
>> + .features = VIR_DOMAIN_DEF_FEATURE_MEMORY_HOTPLUG
>> };
>>
>>
>> diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
>> index a34eb02..541ea3b 100644
>> --- a/src/libxl/libxl_driver.c
>> +++ b/src/libxl/libxl_driver.c
>> @@ -3085,6 +3085,30 @@ libxlDomainAttachHostUSBDevice(libxlDriverPrivatePtr
driver,
>> #endif
>>
>> static int
>> +libxlDomainAttachMemory(libxlDriverPrivatePtr driver,
>> + virDomainObjPtr vm,
>> + virDomainMemoryDefPtr mem)
>> +{
>> + int res = 0;
> I think you don't need to initialize the variable.
>
>> + libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
>> +
>> + if (mem->targetNode != 0) {
>> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>> + _("unsupport non-zero target node for memory
device"));
> Probably changing the message to "non-zero target node not supported"
instead? The
> messages sounds like you are removing support for it. But english is not my
> mothertongue so may be it's just my wrong reading :)
>
> Should we fail with other error as this patch, or VIR_WARN the user and ignore
Agree to use VIR_WARN(), will be updated.
Ah sorry, I forgot to add a "?"
in this sentence, and I am not sure what would the
correct behavior here. I think the current is correct, and I assume user wouldn't try
to memory balloon to a node other than 0 as it can't create a guest with multiple
nodes either. So probably it's reasonable to left it as is, unless someone raises a
flag to loose the restriction?