From: Martin Kletzander <mklet...@redhat.com>

Same as for the SCSI controller, but this time for NVMe, will be used
later to do some post parse modifications.

Signed-off-by: Martin Kletzander <mklet...@redhat.com>
---
 src/conf/domain_conf.c | 17 +++++++++++++++++
 src/conf/domain_conf.h |  3 +++
 2 files changed, 20 insertions(+)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 1b09e25b53b6..c046f5e7cbe5 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -6791,6 +6791,23 @@ virDomainDeviceFindSCSIController(const virDomainDef 
*def,
     return NULL;
 }
 
+
+virDomainControllerDef *
+virDomainDeviceFindNvmeController(const virDomainDef *def,
+                                  const virDomainDeviceDriveAddress *addr)
+{
+    size_t i;
+
+    for (i = 0; i < def->ncontrollers; i++) {
+        if (def->controllers[i]->type == VIR_DOMAIN_CONTROLLER_TYPE_NVME &&
+            def->controllers[i]->idx == addr->controller)
+            return def->controllers[i];
+    }
+
+    return NULL;
+}
+
+
 int
 virDomainDiskDefAssignAddress(virDomainXMLOption *xmlopt G_GNUC_UNUSED,
                               virDomainDiskDef *def,
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index f184a4b9b774..c54e4759a783 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -3700,6 +3700,9 @@ void virDomainDiskSetFormat(virDomainDiskDef *def, int 
format);
 virDomainControllerDef *
 virDomainDeviceFindSCSIController(const virDomainDef *def,
                                   const virDomainDeviceDriveAddress *addr);
+virDomainControllerDef *
+virDomainDeviceFindNvmeController(const virDomainDef *def,
+                                  const virDomainDeviceDriveAddress *addr);
 virDomainControllerDef *virDomainControllerDefNew(virDomainControllerType 
type);
 void virDomainControllerDefFree(virDomainControllerDef *def);
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainControllerDef, 
virDomainControllerDefFree);
-- 
2.49.0

Reply via email to