On 9/11/23 15:51, Ján Tomko wrote:
> Signed-off-by: Ján Tomko <[email protected]>
> ---
> src/conf/domain_conf.c | 98 +++++++++++++++++++++---------------------
> 1 file changed, 49 insertions(+), 49 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 2c8727de54..dd67e7f21b 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -8581,6 +8581,55 @@ virDomainNetGenerateMAC(virDomainXMLOption *xmlopt,
> }
>
>
> +static int virDomainIdMapEntrySort(const void *a, const void *b)
> +{
> + const virDomainIdMapEntry *entrya = a;
> + const virDomainIdMapEntry *entryb = b;
> +
> + if (entrya->start > entryb->start)
> + return 1;
> + else if (entrya->start < entryb->start)
> + return -1;
> + else
> + return 0;
> +}
> +
Please put an extra empty line here.
> +/* Parse the XML definition for user namespace id map.
> + *
> + * idmap has the form of
> + *
> + * <uid start='0' target='1000' count='10'/>
> + * <gid start='0' target='1000' count='10'/>
> + */
> +static virDomainIdMapEntry *
> +virDomainIdmapDefParseXML(xmlXPathContextPtr ctxt,
> + xmlNodePtr *node,
> + size_t num)
> +{
> + size_t i;
> + virDomainIdMapEntry *idmap = NULL;
> + VIR_XPATH_NODE_AUTORESTORE(ctxt)
> +
> + idmap = g_new0(virDomainIdMapEntry, num);
> +
> + for (i = 0; i < num; i++) {
> + ctxt->node = node[i];
> + if (virXPathUInt("string(./@start)", ctxt, &idmap[i].start) < 0 ||
> + virXPathUInt("string(./@target)", ctxt, &idmap[i].target) < 0 ||
> + virXPathUInt("string(./@count)", ctxt, &idmap[i].count) < 0) {
> + virReportError(VIR_ERR_XML_ERROR, "%s",
> + _("invalid idmap start/target/count settings"));
> + VIR_FREE(idmap);
> + return NULL;
> + }
> + }
> +
> + qsort(idmap, num, sizeof(idmap[0]), virDomainIdMapEntrySort);
> +
> + return idmap;
> +}
> +
> +
Michal