]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Add helper function to look up disk controller model
authorOsier Yang <jyang@redhat.com>
Mon, 27 Feb 2012 09:20:11 +0000 (17:20 +0800)
committerOsier Yang <jyang@redhat.com>
Tue, 28 Feb 2012 06:27:08 +0000 (14:27 +0800)
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms

index 93501cf316bc2ddfe4e8a5b2e2cb83a66fbbbe0a..2b68841d0561320a8e53b71b400aebf4d502d634 100644 (file)
@@ -2502,6 +2502,23 @@ virDomainParseLegacyDeviceAddress(char *devaddr,
     return 0;
 }
 
+int
+virDomainDiskFindControllerModel(virDomainDefPtr def,
+                                 virDomainDiskDefPtr disk,
+                                 int controllerType)
+{
+    int model = -1;
+    int i;
+
+    for (i = 0; i < def->ncontrollers; i++) {
+        if (def->controllers[i]->type == controllerType &&
+            def->controllers[i]->idx == disk->info.addr.drive.controller)
+            model = def->controllers[i]->model;
+    }
+
+    return model;
+}
+
 int
 virDomainDiskDefAssignAddress(virCapsPtr caps, virDomainDiskDefPtr def)
 {
index 777bccb9b19cacc2feb762ce5f464950270333a4..fed7cc3de0c211e1f332fcce000ebf6192c04707 100644 (file)
@@ -1729,6 +1729,9 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def);
 void virDomainInputDefFree(virDomainInputDefPtr def);
 void virDomainDiskDefFree(virDomainDiskDefPtr def);
 void virDomainDiskHostDefFree(virDomainDiskHostDefPtr def);
+int virDomainDiskFindControllerModel(virDomainDefPtr def,
+                                     virDomainDiskDefPtr disk,
+                                     int controllerType);
 void virDomainControllerDefFree(virDomainControllerDefPtr def);
 void virDomainFSDefFree(virDomainFSDefPtr def);
 void virDomainActualNetDefFree(virDomainActualNetDefPtr def);
index 3ee40dc491b0549a7c92117999c8a6bf7854dd69..b9baf9a08ce0b29ea905dceb1a436193253395e8 100644 (file)
@@ -302,6 +302,7 @@ virDomainDiskDefFree;
 virDomainDiskDeviceTypeToString;
 virDomainDiskErrorPolicyTypeFromString;
 virDomainDiskErrorPolicyTypeToString;
+virDomainDiskFindControllerModel;
 virDomainDiskIndexByName;
 virDomainDiskInsert;
 virDomainDiskInsertPreAlloced;