
On 2012年11月29日 07:49, Eric Blake wrote:
It makes no sense to fail the whole getting command if there is parameter unsupported by the kernel. This patch fixes it by
s/parameter/a parameter/
omitting the unsupported parameter for getMemoryParameters.
And For setMemoryParameters, this checks if there is unsupported
s/For/for/ s/is/is an/
parameter up front of the setting, and just returns failure if not all parameters are supported.
- * filled with parameter information, which might be less but will - * not exceed the input value. + * Get all node memory parameters (parameter unsupported by OS will be
s/parameter/parameters/
#ifdef __linux__ static int -nodeSetMemoryParameterValue(const char *field, - virTypedParameterPtr param) +nodeSetMemoryParameterValue(virTypedParameterPtr param) { char *path = NULL; char *strval = NULL; int ret = -1; int rc = -1;
+ char *field = strchr(param->field, '_'); + field++;
This site should be safe (we only get here if we got past earlier filters), but...
+static bool +nodeMemoryParametersIsAllSupported(virTypedParameterPtr params, + int nparams) +{ + char *path = NULL; + int i; + + for (i = 0; i< nparams; i++) { + virTypedParameterPtr param =¶ms[i]; + + char *field = strchr(param->field, '_'); + field++;
Are we guaranteed that field is non-NULL,
Yeah, it's guaranteed by virTypedParameterArrayValidate, any param that not in the set VIR_NODE_MEMORY_SHARED_PAGES_TO_SCAN, VIR_NODE_MEMORY_SHARED_SLEEP_MILLISECS, and VIR_NODE_MEMORY_SHARED_MERGE_ACROSS_NODES will be detected, and all of these 3 params contains "_". Thanks the reviewing, I pushed it with the typos fixed. Regards, Osier