]> xenbits.xensource.com Git - libvirt.git/commitdiff
Introduce virDomainDeviceAliasIsUserAlias
authorJán Tomko <jtomko@redhat.com>
Wed, 29 Nov 2017 13:02:51 +0000 (14:02 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 30 Nov 2017 15:48:58 +0000 (16:48 +0100)
Allow parts of code outside domain_conf to decide whether the alias
is user-specified or not.

src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms

index b31917dad9c03919049ff0081efbb0d2de69eb3d..57a475d7fce7c11ed7ce2de3292c4ae7fbfcb35b 100644 (file)
@@ -6660,6 +6660,13 @@ virDomainDeviceAddressParseXML(xmlNodePtr address,
 #define USER_ALIAS_CHARS \
     "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-"
 
+bool
+virDomainDeviceAliasIsUserAlias(const char *aliasStr)
+{
+    return STRPREFIX(aliasStr, USER_ALIAS_PREFIX);
+}
+
+
 /* Parse the XML definition for a device address
  * @param node XML nodeset to parse for device address definition
  */
@@ -6713,7 +6720,7 @@ virDomainDeviceInfoParseXML(virDomainXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
 
         if (!(flags & VIR_DOMAIN_DEF_PARSE_INACTIVE) ||
             (xmlopt->config.features & VIR_DOMAIN_DEF_FEATURE_USER_ALIAS &&
-             STRPREFIX(aliasStr, USER_ALIAS_PREFIX) &&
+             virDomainDeviceAliasIsUserAlias(aliasStr) &&
              strspn(aliasStr, USER_ALIAS_CHARS) == strlen(aliasStr)))
             VIR_STEAL_PTR(info->alias, aliasStr);
     }
index 48b07226eace0cdec5fbe948ee74e7fcee580663..59f250ac96cebe53264b4a551f1bb40add373f1c 100644 (file)
@@ -2679,6 +2679,8 @@ int virDomainDeviceValidateAliasForHotplug(virDomainObjPtr vm,
                                            virDomainDeviceDefPtr dev,
                                            unsigned int flags);
 
+bool virDomainDeviceAliasIsUserAlias(const char *aliasStr);
+
 int virDomainDefValidate(virDomainDefPtr def,
                          virCapsPtr caps,
                          unsigned int parseFlags,
index 290198dddf2344735fe7f47721f94b51717becae..53057aa82eb815c4e69b0bef504231d854c670ad 100644 (file)
@@ -294,6 +294,7 @@ virDomainDefVcpuOrderClear;
 virDomainDeleteConfig;
 virDomainDeviceAddressIsValid;
 virDomainDeviceAddressTypeToString;
+virDomainDeviceAliasIsUserAlias;
 virDomainDeviceDefCopy;
 virDomainDeviceDefFree;
 virDomainDeviceDefParse;